C++ :: Make A Function That Checks If Array Is A Permutation
Feb 16, 2014
I need to create a function with the following prototype:
bool isPermutation( const unsigned a[], unsigned elements );
unsigned a[] = {3, 0, 2, 1};
bool P1 = isPermutation( a, 4 );
would set P1 to true because the set of subscripts is {0, 1, 2, 3}, and the values are just a reordering of those values. On the other hand,
unsigned a[] = {3, 0, 2, 3};
bool P2 = isPermutation( a, 4 );
would set P2 to false because the set of subscripts is {0, 1, 2, 3}, but there’s no value that’s equal to 1.
I'm not exactly sure how to do this. I thought about it a couple different ways. I first thought about taking the range (max/min) and then checking to see if the numbers in between are equal from each other, distance-wise.
I then thought that I should just make this basically a sort function (I used bubble-sort), and then to just check if the numbers are equi-distant from each other.
This is my basic bubble-sort. Perhaps it is wrong, but I'm not certain...Perhaps I am making this function harder than it has to be.
unsigned temp = 0;
for (unsigned i = 0; i < elements; i++){
for (unsigned k = 0; k < elements-1; k++){
if (a[k] > a[k+1]){
temp = a[k+1];
a[k+1] = a[k];
a[k] = temp;
}}}
Should I do a sort like this, and then do something where I subtract a[i+1] - a[i], and see if that equals '1'?. I would think that would mean they would have to be equidistant. Even if this is correct, I feel like it could be more efficient.
As we know in C there is no checking if values passed to a function that takes enum are correct, that is if they have been defined in this enum. Example from Enums in C | Occasionally sane ([code] tags don't work on my fx 18.0.1 this is why I put in on pb): [URL] ......
Here c - How to check if an enum variable is valid? - Stack Overflow they say that common convention is add check whether value passed as the parameter is not bigger than the maximum value in enum. But how about situations when enum is composed of numbers from 1-20 and then from 500-510?
I need to create such a function that the content of the first is put into the second, the content of the second into the third and the content of the third into the first.
For example, output should be like this 3 2 1 But the code below prints out: 1 2 2 Where am I making a mistake?
Write a function that computes and returns the score for a permutation, i.e. the number of reversals required to make arr[0] == 1. HAVE TO USE FOLLOWING FORMAT:
Code: // POST: Returns the number of reversals needed to make arr[0] == 1 // if the reversal game were played on arr // Note: If arr[0] == 1 initially, then score(arr, n) returns 0 AND this is what i could muster; [code]....
I'm currently working on assignment which requires to generate a random permutation of the first N integers. For example, if N = 4, one possible answer is {3,1,2,4} without duplicates. {3,3,2,4} is not correct
to fill a[4], generate random numbers until you get one that is not already in a[0], a[1], ..., a[n-1]. for a[0] whatever random number you generate can be put in it. So here is my code. It seem to works but sometime it give duplicates.
im trying to read in 1 array and get 2 as outputs from 3 different functions.my read array is easy enough were im getting confused is how to read that array, separate it and take out only the parts i want and place them into a 2nd, then again a 3rd array.i have the following so far:
this compiles without a complaint, but when i go to run it no longer responds after taking the 10th element (well 9th if counting from 0).I think i have the if correct for the even odd section, but when i try to populate B or C array with the output of that if statement from A is were i think things are dying...
Write a program that checks whether a string is a palindrome. A palindrome is a word, phrase, orsequence that can be read the same backward and forward.
Code: #include<iostream> #include<string> using namespace std; int main(){
See, there are two do while loop, if I need a permutation with more than two lists, there'll be more and more do-while loops, that's make code looks ugly, I wonder if stl has some tricky way that can do this with just one next_permutation.
I need to be able to find every possible permutation using all possible values of a char. But I have to make it be able to form permutations from a length of 1 to variable N. For example, if N=3, I need it to be able to come up with
How could I do this. (I would like to avoid recursion, since N might be as large as 50 or 60 and using recursion would most likely cause a stack overflow)
I wrote this code to solve a problem in which the user inputs a permutation of size 'N' and the next permutation of the same elements has to be generated.
I went about this in this way: given 3 2 5 4 1, starting from the right, the first no. has to be searched which has a no. greater to it on its right. Here it is 2. Now an array is generated containing all no.s on its right and greater than it. For 2, it is: 5,4. Out of these the smallest member is searched for and switched with 2. So, 4 is switched with 2 to get the Next Permutation: 3 4 5 2 1.
The code I wrote does not show any error but does not return the correct value when run and gives the same value instead. If I enter '3 2 5 4 1' it returns the same value as the answer.
#include<iostream.h> #include<conio.h> void main() { clrscr(); int N,M,i,n,c,swap,flag,count,small,m; int Array[100],Key[100];
#include <iostream> // std::cout #include <algorithm> // std::next_permutation, std::sort int main () { int myints[] = {1,2,3}; std::sort (myints,myints+3); std::cout << "The 3! possible permutations with 3 elements:
[Code] ....
this will result
123 132 213 231 312 321
The question is : If I want to get a permutation combination with range of N
What should i do?
if N = 2 result should be 12,13,21.....such and such
Eliminate the last digit is working for 3 combination but if its going to a bigger number it does not work ...
I have been given an assignment that has to do with permutations. I am suppose to read a text file that contains the permutation rules and the text to be "permutated", and then output the rules and the new text into an output file.
So far, I've gotten this:
Code: # include <stdio.h> void printArray(FILE* file, char* array, int maxSize) { int i; for (i = 0; i<maxSize; i++) fprintf(file, "%c", *(array + i));
[Code] ....
Here is what the input file looks like:
Code: 0 1 2 3 4 5 6 7 8 9 4 5 6 0 9 7 8 1 2 3
Moderation in temper, is always a virtue; but moderation in principle, is a species of vice.
Here is what the output file is suppose to look like:
Code: 0 1 2 3 4 5 6 7 8 9 4 5 6 0 9 7 8 1 2 3
ratMnioodetem rpein al,ywa isvirsetu a t m;eod buon r inaticipp,lerina s cpeis of icvies - Temho. -ainaPes
The first two lines are the permutation rules. Currently I have figured out how to read the file into an array and then print it back out into a text.
What I want to do is figure out how to read only the first two line of the input file and store that as a permutation rules, and then continue reading the rest of the input file and store that separately as the text to be "permutated". And then eventually figure out how to apply the permutation to the text.
I want to make a program that opens a text file and checks the usernames listed in the text files to see if the names are registered on a site such as twitter. How easy would this be to make, what things would I need to know?
Ok so I am working on a game and I'm in the process of developing my Player class. Anyways, what I have is a keyboard function that is called in my main function to make a shape move.
void myKeyboardFunction(unsigned char key, int x, int y) { switch ( key ) {
[Code].....
But when I try to call it, trying to copy my previous method,
glutKeyboardFunc(Player1.playerControls);
I get an error
error C3867: 'Player::playerControls': function call missing argument list; use '&Player::playerControls' to create a pointer to member
I get an error saying it can't convert parameters. I would just like to understand why the arguments become a problem when I make the function a member of my class, when the first method I used is so easy.
Im suppose to make a "poor mans" variation to the Sort function built into unix. The program is suppose to read in a file and sort the contents of the file. So its a variation of the Unix Sort feature. I have remade the readLine function we were provided so that it doesnt use fgets. where to go from here, Not sure on how to make a sort function. Here are the reqirements of the program:
Code:
• Re-implement the readLine() function so that it no longer makes use of fgets(). Instead, process the input on a given line character-by-character.
• Provide code which will create a data structure similar to argv to hold all of the words to be sorted. Use malloc() to ensure that each entry has just the required number of bytes needed to store the words. The final entry in your array should be the NULL pointer.
• Implement a sort() function which will rearrange the words in sorted order. To swap two words in your array, note that only a pair of pointers need to move. The strings themselves, once established, will never move. Heres what i have:
Code:
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_LINES 1000 /* maximum number of reminders */ #define WORD_LENGTH 10 /* max length of reminder message */
I will post the entire code at the bottom. Its running fine right now but This part in the menu function I need to make as a separate function. My problem is when I make it into a function by itself I have to declare and initialize the grades A,B,C,D,F how can I do that when I can't make them equal 0 because it has to keep track of how many of each letter grade.
Code:
//Count letter grade if(ave >= 90) ++A; else if (ave >= 80) ++B; else if (ave >= 70) ++C; else if (ave >= 60) ++D; }
I would like to know if there is a way to make a function non overloadable. My idea is to keep it private in the class so that it will be impossible to overload the function in a derived class.
But if in the base class (the one that holds the private function) I also have a public or protected function (let's call it plf) to manage the private one (let's call it prf), and in the derived class I create a function with the same name as the private base class function (prf) that calls for the public base class function (plf), I am wondering if there won't be a conflict between both of the same-named (prf) functions?
Assuming the prf function of the derived class is not an overload of the prf function of the base class (because the last one is not visible).
But how to define a shape (say a circle by that cir() function which is) outside of the main() function? And how to attach it to be visible on window win?
I know how to define a shape (here, a rectangle) and attach it to a window in C++ as follows:
#include <Simple_window.h> void cir() { Circle c(Point(100,100),50); } int main() { Simple_window win(Point(100,100),600,400, "test"); Rectangle r(Point(100,100),Point(300,200)); win.attach(r); win.wait_for_botton(); }
But how to define a shape (say a circle by that cir() function which is) outside of the main() function? And how to attach it on the window win to be visible?
I have a class called items and stored in a vector as vector<items*> item.now I want to make a function to return the placement # that the item is stored at with a unsigned int. but if I don't find the item is there like a null unsigned int that can be returned.
unsigned int someFunc(vector<items*> item) { unsigned int size = item.size(); for (unsigned int i = 0; i < size; ++i) { if (item[i]->getItemName() == "sword") { return i; } } //i need code here incase the item is not there }
because the item might not be there and i would like to do a line if(unsigned int) do this code
We have to make a function integrate to work with the other functions given. I had it working before but I would only get all -4 as my answers but only the first one should be -4. what should more or less be put in my integrate function?
if there is a way to make Visual Studios step into a function while I am debugging.. I am trying to see the value of a certain int and making sure it is what I need it to be.. but whenever I use step into visual studios just skips right over the function and it does all the calculations..
// How can we write resize function for Matrix2 class; where this function need to use Protected data members of matrix1 class? Only setters are available in Matrix 1 class but there is no getter function in Matrix1 class !
How to how to make a function prototype that uses variables by reference. I'm making a decision based game where two running totals of two variables (ending and morality from decisions made) will decide the game outcome. I only have a few modules put in so far and most of the "story" parts cut down here to save space. I'm also getting an error saying there is more than one instance of overloaded function for the "whatToDo" module.
// ZombieGame.cpp : Defines the entry point for the console application. // #include <stdlib.h> /* srand, rand */ #include <time.h> /* time */ #include <iostream> using namespace std; //These are function prototypes to declare the functions being used void WakeyWakey(); void TwentyMinsLater(int);