inputting chars to 2d array

perkeyone

something clever
Reaction score
71
hey guys,
i keep forgetting the syntax of cin.get and getchar etc

anyways, i am trying to design a c++ program that will prompt for the user to input something like this

0 0 0 0 r
0 1 1 1 r
1 0 0 1 r
1 1 1 2 r

and i want to store that input in a 2d array

i want to ignore the spaces
(so it wont matter if the user spaces it out or not)
 

Samael88

Evil always finds a way
Reaction score
181
Can't you just do a simple skip thing in your program for that?
Code:
If (inputchar[current] == " ") 
{
   current++;
}

I don't know how you are taking the input now, but does that work?
 

perkeyone

something clever
Reaction score
71
umm are those part of the string headerfile? or are those just variables you made up?
 

GooS

Azrael
Reaction score
154
Sorry for answering with code, but couldn't come up with a way to explain it at the moment.

Does not check for whitespaces but puts input such as:

123
321
231

into a vector as chars.

0: [[1][2][3]]
1: [[3][2][1]]
2: [[2][3][1]]

hope it helps a little!

Code:
#include <string>
#include <vector>
#include <iostream>

int main(int argv, char * args[])
{
   std::string input;
   std::vector< std::vector<char> > first_dimension;
   std::vector<char> * second_dimension;

   for(unsigned int i = 0; i < 5; ++i) // 5 second dimensions put into the first
   {
      std::cin >> input;
      second_dimension = new std::vector<char>;
      for(unsigned int j = 0; j < input.length(); ++j)  // Can currently put how many chars you want into the second dimension
      {
         second_dimension->push_back(input.at(j));
      }
      first_dimension.push_back(*second_dimension);
      delete second_dimension;
   }

   // std::cout << first_dimension[3][2]; // testline
   return 0;
}

//==GooS
 

perkeyone

something clever
Reaction score
71
can i get a version that doesnt use vectors?
i am going to assume that the input is only 5 columns (not including spaces)
and up to 20 rows (but not necessarily 20)

so this input would be valid
and so would this
1 1 1 1 R
2 2 2 2 L
anjd any other number of rows of 5 chars (not including spaces)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top