I am trying to fill an array with a large number using cin. What I would like to do it take a number like 123,456,789 and put it into someArray[0] = 123, someArray[1] = 456, etc. Can this be done easily?
I am trying to fill an array with a large number using cin. What I would like to do it take a number like 123,456,789 and put it into someArray[0] = 123, someArray[1] = 456, etc. Can this be done easily?
Probably. After all, it depends on what exactly you want to do. Are you trying to split by commas?Can this be done easily?
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)
guess you could:
1) Take the input as a character string instead of a number.
2) Parse the character string.
3) Convert string to an int before storing in the array.
Originally Posted by laserlight
I need some way to seperate either by commas or seperate into 3 digit pieces after the fact.
You could just remove all the non-digit characters from the string, then read in three characters at a time.
Code:#include <stdio.h> void J(char*a){int f,i=0,c='1';for(;a[i]!='0';++i)if(i==81){ puts(a);return;}for(;c<='9';++c){for(f=0;f<9;++f)if(a[i-i%27+i%9 /3*3+f/3*9+f%3]==c||a[i%9+f*9]==c||a[i-i%9+f]==c)goto e;a[i]=c;J(a);a[i] ='0';e:;}}int main(int c,char**v){int t=0;if(c>1){for(;v[1][ t];++t);if(t==81){J(v[1]);return 0;}}puts("sudoku [0-9]{81}");return 1;}