I've been stuck on a divide a conquer algorithm problem for about an hour now, and I'm not sure how to solve it. I need to use divide-and-conquer to implement an algorithm that finds the dominant element of an array of positive integers and returns -1 if the array does not have a dominant element (a dominant element is one that occurs in more than half the elements of a given array).
No sorting may be used, and the only comparison that may be used is a test for equality.
I understand the general process I need to follow to solve this problem, but I'm not sure exactly how to convert my thoughts to code. I know that if a number x is the dominant element of an array A, the x must be the dominant element in either the first half of A, the second half of A, or both.
Here is what I have so far.
#include <iostream> #include <string> #include <vector> using namespace std; int find_dominant(int *A, int p, int r) {
I am trying to create a function to find the entry point of my map.But my program does not seem to be working correctly. I am trying to place a dot there because I will have to use recursion to fill up the whole map. But I'm not asking for the answer. I just need writing a function to locate the starting row for the first column of the maze (first non zero element). My code seems to have a bug in it when I try and call my function FindEntry. What I am trying to do is read in column by column until I can find the starting point and then place a dot there with ASCII character 249. This is my code so far:
Is there any way to programatically find if the given code is taking recursive approach or iterative apporaoch using concept of files in C programming.
I understand that I have to find the height by using _left->height() and _right->height() as long as it is not a null-pointer , each time I do this the values of _left and _right change. That way you can check if it is possible to go further down in the tree. I also have to use a counter to keep track of the number of layers at each side of the root. I don't understand how to implement it.
I wrote a program with a recursive() called finder. But it dose not work properly,at run time it becomes to a infinite status. How to detect the error at runtime. Here is the code.
#include<stdio.h> void finder(int x,int y); int tot;
[Code] ....
I think the error is the changing value of x after a round of for loop.
i was suppose to write a program that gives a divide error but output is not showing anything like it.I am using orwell devc++ 5.4.2 and all the default built tools(gcc compiler etc.) with default settings.so, what should i do to see this error?
Code:
#include<stdio.h> #include<conio.h> int main() { int a,b,c; float x; }
I need to write a program that accepts a number from the user, divides that number by two until it reaches one or cannot be divided evenly anymore, then adds all of the quotients from each division and displays them.
So something like this should be displayed:
Please enter a number: 8
8/2=4 4/2=2 2/2=1 4+2+1= 7
I thought about using an array to possibly store the quotients but I just can't see how that would work.
I am new to C programming and I am just wondering how to multiply / divide two different variables which the user type in as the promt is asking like this:
Code: void inmatning3 (double *a, double *b) { printf("Mata in tv217 stycken flyttal: "); /* asks you to type in 2 numbers */ scanf("%lf %lf", a, b); }
When you've enterd the two numbers I need to eather multiply or divide the two variables "a" & "b" .....
I need to make a program that takes in a user’s number and keep dividing it by 2 until it is 1.I need to display the division steps ...
I do not know how to keep making it divide by 2 until 1. I tired this but it obviously did not work..
Code: #include <iostream> using namespace std; int main() { //User Input int input,total; cout <<"Enter A Number To Be Divided By 2 Until 1" << endl << endl;
I'm practicing so I wrote this simple program that suppose to add and divide two numbers. It does that but the result comes out with a 0 at the front and don't know why.
#include<iostream> using namespace std; int main() { int a ,b; int result; a = 0; b = 0;
The first line indicates how many paths exist in my design. The second and third lines are those lines(the first number indicates 2 pairs, so 10,1 and 2,7 are 2 pairs) The first element in the third line indicates 3 pairs and the pairs are 8,3 and 7,7 and 10,7.
I have been able to read the text file and store these into ONE array. However, I need to divide them up and have each line in a seperate array.
So for example
array alpha to contain 10,1 and 2,7 array beta to contain 8,3 and 7,7, and 10,7
I am trying to get a remainder of a number with a = 0.9144, rm = ry % a; however, I keep getting a divide by zero error (I believe due to the program rounding 0.9144 down to the integer 0).
For example, to calculate GPA, we add all the grade point of a course and divide by the number of courses we are taking. How do I create a program in such a way that when the user enters grade point for two courses, it will add the grade points for the two course and divide by 2. And if another user enters grade points for six courses, it adds the grade points and divides by 6.
The problem is that you have a set of numbers and you need to divide that set into two subsets where the difference between the sums of the subset is minimal.
Example: a set of numbers {1,5,9,3,8}, now the solution is two subsets, one subset with elements {9,3} and the other {8,5,1} the sum of the first one is 13 and the sum of the second is 13 so the difference between the sums is 0. The result shows the difference between the sums.
Another example: a set of numbers where the difference between the subsets cannot be zero, {9 51 308 107 27 91 62 176 28 6}, the minimal difference between the two subsets is 2.
I want to know how the function finds the two subsets, it works great because I've tested it for up to 300 inputs which sum adds up to 100,000.
Code: #include <iostream> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <limits.h> using namespace std; int BalancedPartition ( int a[] , int n ) {
Create a program that adds, subtracts, multiplies, or divides two integers. The program will need to get a letter (A for addition, S for subtractions, M for multiplication, or D for division) and two integers from the user. If the user enters an invalid letter, the program should display an appropriate error message before the program ends. If the letter is A (or a), the program should calculate and display the sum of both integers. If the letter is S (or s), the program should display the difference between both integers. When calculating the difference, always subtract the smaller number from the larger one. If the letter is M (or m), the program should display the product of both integers. If the letter is D (or d), the program should divide both integers, always dividing the larger number by the smaller one."
And here is the test data. I am posting the results from my desk-check table.
operation first integer second integer answer A 10 20 30 a 45 15 60 S 65 50 15 s 7 13 6 G -1 M 10 20 200 d 45 15 3 d 50 100 2
Then, I transferred my program into a source file. Here it is:
//Exercise16.cpp - display answer of two integers
#include <iostream> using namespace std; int main() { //declare variables int firstInteger = 0;
[Code] ....
After putting in the data, everything worked fine, except the last two operations, which are M (multiplication) and D (division). All the answers for the last two operations essentially give me a 0.
I am having trouble with recursively modifying a <string, int> map (NCPB) -- when I call for what should be existing values in the map, I get "junk" values back (integers, but sometimes negative, large numbers, etc.). I've posted only the problematic function here:
int Count_Noncrossing(string RNA, map<string, int> &NCPB) { map <string, int>::iterator it; if (RNA.length() <= 2)//perfect short interval can only have 1 match; return 1 { return 1;
[Code] ....
The problem is that when I ask for existing map values in a subsequent recursive call, they don't seem to be there. I imagine I'm missing something straightforward but can't seem to find it. I've tried declaring the map globally, passing it (as shown above), nothing seems to work.
The recursive function is bolded, i got feedback and was told that the static variable made the function seem a lot like a iterative function but he did not say why.
Code: #define MAX 100 #include <string.h> #include <stdio.h> int checkPalindrome(char string[MAX]); int checkRecPalindrome(char string[MAX]);
Now the recursion will generate a large recursion tree, like if n=5, 5 will call (5-1), (5-2) or 4,3 . What I want to know is, will fibo(n-1) will be called 1st go all the way to the base case 1, then do the summation or fibo(n-2) will be called right after fibo(n-1) ?