Я пытаюсь заполнить 2-мерный массив символами. У меня есть следующий код, и он работает, но не корректно. Таким образом, проблема заключается в том, что весь массив заполняется '.' персонажи. Какая, по-моему, проблема? Почему каждое «слово» не входит в его собственный ряд?заполнение двумерного массива символами
char Table[10][50];
char block[100] = "the cat and the hat.";
int pos = 0;
while (pos < StrLen(block)) {
for(int i = 0; i < 10; i++) {
for(int y = 0; y < 50; y++) {
Table[i][y] = block[pos];
}
}
pos++;
}
cout << Table[0][0] << " " << Table[0][1] << " " << Table[0][2] << endl;
cout << Table[1][0] << " " << Table[1][1] << " " << Table[1][2] << endl;
Результаты
. . . .
. . . .
Вы увеличиваете 'pos' только после того, как заполненные петли заполняли весь массив. Таким образом, вы сначала заполняете все позиции массива 'block [0]', а затем переопределяете их с помощью 'block [1]' и т. Д. Наконец, вы переопределите их все с помощью 'block [strlen (block) -1]', который является '' .''. – jogojapan
Подумайте об этом немного. Сколько раз вы устанавливаете 'table [0] [0]'? – Mat
Где в приведенном выше коде вы пытаетесь найти «слова» в «блоке»? Если вы хотите найти слова, то где-то вы должны искать пространства, отделяющие слова. – john