C++ :: Initializing Multidimensional String Array?
Nov 15, 2014
In one of my programs I have a 3x3 array of string that I use to display the outcome to rock, paper, scissors, and another 1x3 used for a number guessing game. I have the arrays declared in the header file as follows:
//Games.h
std::string rpsOutcome[3][3];
std::string hiLoOutcome[3];
and then initialized them in the cpp file:
//Games.cpp
string rpsOutcome[3][3] {
//row 1
{ "Both of you picked rock, you tied. Try again",
"You picked rock, the computer picked paper, you lose",
[code]....
From what I've read, Im pretty sure thats how your supposed to initialize multidimensional arrays (using the nested braces), but when I build the project, I get the following error:
123456789101112
1
1> RockPaperScissors.cpp
1> Games.cpp
1>c:userswuubbgoogle drivevisual studio projectsgamesgamesgames.cpp(75): error C2374: 'games::rpsOutcome' : redefinition; multiple initialization
[Code] .....
View 4 Replies
ADVERTISEMENT
Apr 28, 2013
I want to use this array as part of my class. I have tried several different angles trying to get it to work but with out success. I have been checking to see if it works by simply using "cout << dayName[3];" It is printing nothing at all. What is the proper way to initialize this array of strings?
First I tried this:
const string dayName[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
then I tried this:
const string dayName[7];
dayName[0] = "Sunday";
dayName[1] = "Monday";
dayName[2] ="Tuesday";
dayName[3] ="Wednesday";
dayName[4] ="Thursday";
dayName[5] ="Friday";
dayName[6] ="Saturday";
My implemetation file code and my header file code is here (header first):
//dayType.h, the specification file for the class dayType
#include <iostream>
#include <string>
using namespace std;
class dayType{
[Code] .....
View 4 Replies
View Related
Feb 3, 2013
I was working on a program which compares sequences of characters, counts the differences between them, and displays them. I had the sequence inputted as a string (into a vector so any number of sequences could be chosen), and then, the way I tried to check the strings for differences, was by converting the string to a (multidimensional) vector of chars:
vector< vector<char> > sequencesC;
for (int a = 0; a < sequenceCount; a++) {
cout << "
Enter sequence " << a+1 <<" name: ";
cin >> sequenceNames[a];
cout << "
[code]....
However, it crashes (as shown above) when I try to set, by a for loop, every char of a multidimensional vector (sequencesC) to the same char of the data vector. Is there any way I can convert the string to a char vector?
View 7 Replies
View Related
Feb 27, 2013
I have a multidimensional array that runs parallel with a string array
Lincoln 120 300 400
Parks 100 500 250
Shakespeare 0 30 50
Ghandi 250 100 40
Ashe 300 50 175
Rodriguez 87 118 320
Curie 284 0 112
I need to sort this and I know how to do it. But I need to sort it again with the highest value in the first row and keep all information in that row paired with the name . So
Lincoln 120 300 400
Parks 100 500 250
Parks 100 500 250
Lincoln 120 300 400
I need so swap this whole rows. I'm using dynamic array. So my question is Do I have to do a bunch of temps to move them? Or is there a way to move the whole int array row as a single unit?
View 3 Replies
View Related
Feb 23, 2015
I have a struct like this:
Code:
struct String{
char* data;
std::size_t size;
};
I would like to be able to create const variables of this type for string literals.
Code:
const String message;
Is there an elegant way to create a const String like this when data is a string literal?
I tried this:
Code:
const char *string_data = "Hello";
size_t string_size = strlen(string_data) + 1;
const String string = {string_data, string_size};
The problem with that is that string.data isn't considered const during the initialization of the String struct so the compiler throws an error. It doesn't feel very elegant to do it like this either way.
Is there an elegant solution to this problem? I would like to avoid making a copy of the string literal.
View 7 Replies
View Related
Jan 13, 2015
Problems :
1) Is there any way so that i can use "X" and "O" char instead of 9 and 0 int.?? I also tried to use enum but was only able to print out -1 for 'X' and 0 for 'O'...
2) if player - 1 choose field 2 . and player - 2 chooses field 2 .. how can i show error and ask for another input ?
3) is there any short coding trick for int check_result(); ?
Code:
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
[Code] ....
View 3 Replies
View Related
Jul 31, 2014
What is the correct method of declaring pointer to multidimensional array
Code:
int array[3][4];
int *p = array;
The above code works but it shows warning. Is it an invalid way of using the pointer? the array is an address then why am i getting warning?
View 1 Replies
View Related
Sep 25, 2013
I'm trying to pass a two-dimensional array to a function. The function is defined as: long foobar(char foo[][CONST]); I have to create that array dynamically. Currently I do that this way: char* bar = new char[count * CONST];
But when I'm trying to pass the array I get a type conversion error. I tried a lot of different ways to pass the pointer and/or to allocate the memory, but apparently I didn't find the right way or combination of definition, allocation, casting and calling.I cannot change the definition of the function, which (IMHO) is pretty stupid. :(
View 3 Replies
View Related
May 1, 2015
I have put aside C++ for a while. And I am back to it.
I forgot how to return a 2 dimensional arrays from a method?
Code:
Node** GetNodeMap() const { return m_Nodes; }
private:
Node m_Nodes[60][60];
How can I achieve that?
View 5 Replies
View Related
Nov 24, 2013
Working on this one from the Jumping into c++ book. The book asks that I create a multidimensional array at run time based on user input and fill it with a multiplication table
My code compiles fine but throws an uninitiated error for p when I try and run it.
Code:
void multiDimentionalMultiplication(int x, int y, int z){
int ***p;
**p = new int[x];
std::cout << "Allocating array.
[code]....
View 8 Replies
View Related
Mar 19, 2014
I have initialized a multidimensional array eg char fruit[5][10]...Then I would need to read in 3 words with spaces in between from user and store in fruit[5][10] e.g "pear apple orange"
The thing is that after typing orange, when I press Enter it still prompts me to enter more characters. How can I end the scanning of characters after orange ?
View 4 Replies
View Related
Feb 27, 2015
I have a 3-dimensional matrix(3,3,3) and want to write it to a file. I have the code for parsing it in a compatible for matlab format. But at this point i want to use a pointer to do the same thing.
Code:
#include <stdio.h>
#include <stdlib.h>
int main() {
const int dimx = 3, dimy = 3;
int i, j;
unsigned char a[3][3][3] = {
[Code]...
If it is a 1-dimensional array i can understand the logic.
Code:
int val[7] = { 11, 22, 33, 44, 55, 66, 77 } ;
int *p;
p = val[0];
for ( int i = 0 ; i <= 6 ; i++ )
[Code]...
View 3 Replies
View Related
Mar 26, 2013
I know how to find a specific number in a multidimensional array, but I don't know how to have a specific number and find its coordinates.
View 2 Replies
View Related
Feb 12, 2013
In the code that I am working on I am generating random numbers and assigning them a 2d array. But when I output the array in a separate nest of for loops the values are incorrect, but if I output the array in the same nest of for loops the values are correct
int spot[4][4];
int range[] = {1,16,31,46,61}, held[4];
void Generate() {
for (int y =0; y<=4; y++) {
for ( int x =0; x<=4; x++) {
spot[x][y] = (range[x] + rand() % 15);
[Code] ....
View 3 Replies
View Related
Nov 30, 2013
For a rather complex and strange reason that I won't explain right now, I need to have this going on in my program.
class FVF{
private:
vector<vector<float>> data; //Contains fvf data for Direct3D stuff
public:
[Code].....
The FVF allows this Model3D class to also be compatible with file handling methods I've got, but here's the problem. D3D buffers require an array to feed them the information, and I know that for a single dimension of vector I can use vec.data(), how to do this for multiple dimensions.
I think the best Idea I've got so far is to set the vector within the Model3D class as a pointer, then I can union it with a float pointer... Once I can guarantee the information is correct and complete, manually transfer the contents of the vectors into the float pointer.. (The union is to reduce memory needed instead of having the data repeated in vectors and arrays)
how I could just pass these as arrays?
View 4 Replies
View Related
Nov 16, 2013
I am trying to unroll the inner i and j loops within this multi-dimensional array which spits out a block image. Unfortunately, the image does not match the color of the original image probably because filter->get(i,j) gets altered in a way that I don't want it to.
double
applyFilter(struct Filter *filter, cs1300bmp *input, cs1300bmp *output) {
long long cycStart, cycStop;
cycStart = rdtscll();
output -> width = input -> width;
output -> height = input -> height;
[code]....
View 3 Replies
View Related
Feb 11, 2013
void printMatrix(int x[][]){
cout << "Matrix " << x << ":" << endl;
for(int r=0;r<rows;r++){
for(int c=0;c<colums;c++){
cout << x[r][c] << " ";
} cout << endl;
}
}
Error: declaration of 'x' as multidimensional array must have bounds for all dimensions except the first
How can i use multidimensional array with unknown bounds?
View 1 Replies
View Related
Apr 10, 2012
After passing the address of the first element (&array[0][0]) of a multidimensional integer array to a function with a "const int*" parameter, parameter seems to be pointing to the wrong values, which are not the actual elements of the passed array.
First, why does this happen ?
Second, how can I fix this without changing the parameter type into a multidimensional int array ?
View 4 Replies
View Related
Sep 28, 2013
I am currently trying to write a program, which i able to print a multidimensional array using classes. My problem is, it prints random values, and not the value from the user input.
Here is the Code
[URL]
View 1 Replies
View Related
Aug 13, 2014
From the example given below, I would like to Generate a matrix who stores a generated array for each iteration. I have an understanding of inputting single elements to a matrix but how can I input an array to a matrix. let's say I would like to input and array of 4 elements that should be stored as a single row of the generated matrix and do this for an infinite while{true} loop.
#include <iostream>
#include <unistd.h>
#include <cstdio>
#include <cmath>
#include <ctime>
#include <stdlib.h>
#include <stdio.h>
#include <vector>
void printArray(int arr[], int size) {
[Code] ....
View 7 Replies
View Related
Jul 31, 2013
How can I Passe some part of multi-Dimensional Array to a Function; for example only two dimension of three dimension of a an array with 3 dimension. This is because my function is defined for working with 2 dimension arrays.
View 3 Replies
View Related
Mar 26, 2015
I have this file that I would like to read into a multidimenstional array in c#: file. If I take the first set of lines as a first example, I would like the print_r to look something like this:
Array (
[SiiNunit] => Array (
[0] => Array (
[nameless.2BB8.4FB8] => Array
[0] => Array (
[bank] = _nameless.2917.43B0
[player] = _nameless.2813.6928
[companies] = 312
[code].....
this (as I expected it to) wrote each line of the file into a 1d array however, I would like it to write it to a multidimensional array.
View 7 Replies
View Related
Mar 8, 2013
I need a multidimensional array and it should be declared without giving size to it.will it be possible?
View 3 Replies
View Related
Mar 1, 2014
I am having problems figuring out how to place a list of strings from a text file into a multidimensional array that is something like words[NUM_WORDS][MAX_LEN]. I already run through the file once and count the number of words in it. I have tried a number of loops using fscanf and fgets, but I'm not sure if I am using them right -- this is my first time using them. The text file is a list of words in a dictionary, so the wordCount is about 45340.
Here is my code:
#include <stdio.h>
#include <string.h>
#define MAX_LEN 46
int main(){
int wordCount = 0;
FILE *inputFile, *outputFile;
[Code] ....
Like I said, the wordCount portion works. I added the printf statements at the end to see if anything was being saved, but it just prints two new blank lines. New to file reading and writing.
View 3 Replies
View Related
Apr 8, 2014
I am trying to read the information from a .bmp file into my program while dynamically allocating memory for all of it. So I defined the structures for the headers and for a pixel, and then I have to read each pixel into a multi-dimensional array of pixels. I am completely new to structures, and definitely new to pointers combined with structures. I will have to use a filter with the information later, but right now I just want to read everything in correctly. The array of pixels will be two-dimensional -- the width by the height of the image, I guess.
Here's my code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *inFile, *outFile;
typedef struct
[Code] ....
View 4 Replies
View Related
Mar 6, 2015
I am making a tictactoe program that requires me to have a 3 by 3 two dimensional array of integers, in which the constructor should initialize the empty board to all zeroes. The program complies, but it keeps outputting garbage values and i'm not entirely sure why, My print function isn't complete yet, since I want to print out the array in a tic tac toe format, but i'm more concerned with why it's printing garbage values, here is my code:
Code:
// header file
#include <iostream>
#include <array>
[Code] ....
View 7 Replies
View Related