I understand multimaps are key ordered. I have no problems with ints but when I put my char arrays in they are not alphabetically ordered. I must use char array and not <string>. Is it possible to alphabetically order them with char*
39 int c; 40 User *user; 41 char nameH[200]; 42 char line[200]; 43 int ageH; 44 double wH;
I have a homework assignment in C++ where I have to: "Write a program which asks user to input 10 students names. Store them in an array. Convert all the names to UPPERCASE without using any built-in functions. You must write the function to do that yourself. Lastly, sort the name in alphabetic order."
Here is my code so far, but my program won't compile, and the message it gives me is gibberish.
#include <iostream> using namespace std; void sortNames(string name[], int cap); void toUpper(string name[]); int minIndex(string name[], int i); void sort(string name[]); void swap(string name[], int i, int j);
I've made a code to check whether or not a save file has been created correctly, but for some reason it always returns this line: readdata[qa]=='1' as true. in which qa is the counter I use in a for loop and readdata is a character array consisting of 50 characters that are either 0, 1 or 2.
this is the entire code:
#include <iostream> #include <fstream> #include <string> using namespace std;
[Code]....
at first is also went wrong at line 22 and also returned that as true, but then I added brackets and it worked.
I am working on a program to find uppercase, lowercase and digits in a 2D char array. When I try to use an if statement to increase the counter, I get an error "no conversion from 'int' to 'char*'". This is the if statement I am using.
If I have 2 arrays, say array1 = {2, 2, 4, 5, 6} which has sorted array elements and array2 = {4, 2, 6, 2, 5} that has same elements as array1 but not in sorted condition. How can I compare that both arrays have same elements. I have written the following code which works in all conditions except when array1 has two same elements and array2 has all different elements.
counter=0; for (i=0; i<5; i++) { for (int j=0; j<5; j++) if (array2[i] == array1[j]) { counter++; array1[j]=0;
int result = 1; for (int j=0;j<N;j++) { bool found = false; for (int i=0;i<N && !found;i++) { if (a[j] == b[i]) found = true; } if (!found) return 0; }
I need to create a code that compares two in arrays without sorting them. They have to be the same length and contain the same elements in any order.
every integer in a[] is also in b[] every integer in b[] is also in a[] all such common values appear exactly the same number of times in both a[] and b[]
EX: a = {1, 2, 3}, b = {2, 3, 4} return 0 a = {1, 2, 3}; b = {2, 3, 1} return 1 a = {1, 2, 2}; b = {2, 2, 1} return 1 a = {1, 2, 2}; b = {2, 1, 1} return 0 a = {1, 1, 2, 2, 2}; b = {2, 1, 2, 1, 2} return 1
I have an array of const char's that are randomly selected in a loop from a list and id like to compare every newly selected choice to be tested against all the others to make sure the same choice isn't given more than once, however the names are lengthy and, for example, using:
for (int x = 0; x<10;x++)//initial loop while ((choice[x]== choice[x-1] || (choice[x] == choice[x-2]) || etc...) //^given that I have 10 variables
Would be messy and a painful sight. What would a more convinient way to check each choice?
Edit:It should be said that each choice would then be randomized again and then checked again, and that each newly selected choice is then immediantly used after this. It'll also be assumed that not all the choices have been made when this part runs(ergo choice[3] may not exist yet) as it is in a loop
I have function that looks like this myfoo(char* Name) Now i want to compare this name to another one . But the another name is a pointer . This my code :
I'm looking to take in an array of less than 50 strings, and I want to find all of the unique words in that array (omitting the words that are repeated) and then outputting the unique words and unique word count. My code compiles, but my unique array is couting all of the words contained in the original array regardless of uniqueness.
#include <iostream> #include <string> #include <stdio.h> #include <string.h> using namespace std; int main() { cout << "Please type in some words." << endl; cout << "Type END and return when you are finished." << endl;
[code].....
This is what I get back.
You typed the following 14 words: red, green, blue, red, red, blue, green, blue, orange, red, reg, apple, banana, banana, END,
You typed the following 0 unique words: red, green, blue, red, red, blue, green, blue, orange, red, reg, apple, banana, banana, END
I'm not worried about the unique count yet, I just want to get the unique array containing the correct strings.
I've been working on an assignment that deals with newspaper advertisements. I have two arrays:
categoryCode (the code for the advertisement's category such as pets, cars, etc) and numWords (number of words in the ad).
The arrays are dynamic.
My assignment has the category listed each time there is an ad associated with it and then its number of words for that ad. If this were a real-world issue I would want my output to list each category only once despite how many ads were in it, list how many individual ads are in the category, and its total number of words for the ads in that category. When using parallel arrays, is there a way to do this?
Let's say I have categoryCode with three elements {5, 5, 7} and numWords {10, 12, 15}.
How would I make the numWords add together only when the categoryCode values are the same?
I would want the output to print: Category 5 Ads 2 Words 22 Category 7 Ads 1 Words 15
rather than how my instructor is having us do it like this: Category 5 Words 10 Category 5 Words 12 Category 7 Words 15
I think I'm getting hung up because my mind is confusing the element's location in the array with the element's actual value and I'm probably making this harder than it should be. How would I compare the categoryCode values in a dynamic array? If it were a fixed size I think I could just compare categoryCode[0] to categoryCode[1] and so on, right? But in this case I'm not sure how I would go about that.
I am trying to concatenate two words from a file together. ex: "joe" "bob" into "joe bob". I have provided my function(s) below. I am somehow obtaining the terminal readout below. I have initialized my memory (I have to use dynamic, dont suggest fixing that). I have set up my char arrays (I HAVE TO USE CHAR ARRAYS (c-style string) DONT SUGGEST STRINGS) I know this is a weird way to do this, but it is academic. I am currently stuck. My file will read in to my tempfName and templName and will concatenate correctly into my tempName, but I am unable to correctly get into my (*playerPtr).name.
/* this is my terminal readout joe bob <- nothing is put into (*playerPtr).name, why not? joe bob joe bob seg fault*/ /****************************************************************/ //This is here to show my struct/playerInit
I am a little confused while comparing char pointers to integer pointers. Here is the problem:
Consider the following statement; char *ptr = "Hello"; char cArr[] = "Hello";
When I do cout << ptr; it prints Hello, same is the case with the statement cout << cArr;
As ptr and cArr are pointers, they should print addresses rather than contents, but if I have an interger array i.e. int iArr[] = {1, 2, 3};
If I cout << iArr; it displays the expected result(i.e. prints address) but pointers to character array while outputting doesn't show the address but shows the contents, Why??
I'm trying to get template specializations working for char * as well as for char[]. I.e. in the following code the last test does not use the specialization and fails:
My program will scan a message sent over Steam (An online game distributor ) and I want it to check if the Message contains one of the elements in the array. I want it to compare the String of the message to the values in the String array. I have tried looking into it but have unfortunately found nothing that would go along with my program outline. Here is my code so far:
if (add == true) { string[] itemNames = { "keys", "tickets", "nametags", "descriptiontags" }; string[] splitmessage = message.Split(' '); foreach (string word in splitmessage) { int strNumber;
[Code] .....
I am hoping for this to look like the picture of the code I wrote in the Attachments. [URL] .....
how to correctly use realloc on an array of char arrays? Say I want to store strings in arrays (=array of char arrays) and double the size of max. strings (y value):
Code:
int x=200; int y=10; char *carray[y]; for (int j = 0; j < y; ++j) carray [j] = malloc (sizeof(char)*x);} }
I have most of the code working properly, but I'm having trouble with a certain area. Currently I have multiple 2D arrays. One is a char array and the other is an int array. In the int array I have to find the max number in each column, which I've done. The problem is, I need to print the max number's row in relation to the char array's row.
For example,
Code: int array[2][3] = {60 50 30 0 100 1}
The max numbers are 60, 100, 30.
char array[2][length+1] = {nameOne nameTwo}
How it needs to print:
nameOne has max score of 60. nameTwo has max score of 100. nameOne has max score of 30.
I just can't understand how to compare the two arrays in the right way, so it'll know that nameOne is associated with the numbers in row 0 and nameTwo in row 1, etc.
I've been experimenting with char arrays and getting user input through different methods.
int main() { char userInput[21]; /*I understand that over here, a maximum of 20 letters can be input, and only letters before a space will be stored in userInput*/ std::cin >> userInput; std::cout << userInput << std::endl;
[Code] ....
As I was testing, whenever I would input a single word for userInput (for example "hi"), the program would work as expected: it would output "hi" and I'd be able to input a sentence of sorts for userInput2 (for example "hello world") and have it outputted.
But if I were to input more than one word for user Input (for example "hi how are you"), the program would output "hi" as expected, but it wouldn't let me input anything for userInput2 and would just output the rest of the first input; in this case, "how are you" would be outputted and the program would end. I am not aware of the logic error at play.
I'm having trouble with passing a character array between functions of the same class. I have a function, buildGraph, that calls function getNextLine. The getNextLine essentially just retrieves the next line of an input file and stores it into a "char line[80]". However when I try to use "line" in my buildGraph function, it has nothing in it.
Here's my code:
Class #define NUMNODES 10 using namespace std; #pragma once class Prog3Graph
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { unsigned long long int address; float current; unsigned char pressure_units; }
[code]....
But I don't like how I had to use malloc and free. Is there a different way to accomplish copying the string into a char pointer without resorting to dynamic memory allocation?
I've tried searching for answers around the web but everyone is using syntax that We haven't been taught before in class yet. I understand that the string library is probably the most efficient way of doing this but is there a way without using that library? Like using if, for, while etc. instead?
I've been told that using anything else other than the string syntax is far to complex but I think the more complex it is the more I will understand it.