2013-03-18 1 views
0

В настоящее время я работаю над проектом программирования на C++, однако, похоже, я не могу получить правильные массивы. Я выполняю это руководство, на странице 2 из 8.Использование массивов для моделирования физической линии с выходом текстового изображения

http://www.joehummel.net/uploads/cs109-hw7-pe1.pdf

Я написал цикл для вывода на печать всей информации в матрице, но по неизвестной причине, мой вывод всего 2 строки код, который только «t» и «0», вместо всей сетки.

void fill(int M[][N], int ROWS, int COLS, int row, int col) 
{ 
    int i = 0; 
    int j = 0; 
    for (i<ROWS;i++;) 
    { 
     for (j<COLS;j++;) 
     { 
      cout <<"0"<< M[i][j]; 
     } 
    } 
    cout << "T" << M[row][col]; 
} 

Любые советы и помощь были бы полезны! Спасибо!

+1

Вы прибавка выглядит в неправильном месте. – tjameson

ответ

1

вместо

for (i<ROWS;i++;)

вы хотите

for (i;i<ROWS;i++)

или

for (;i<ROWS;i++)

Рассуждение: Сечения для инициализация цикла идти (выполняется один раз, прежде чем все), проверьте (до каждого цикла, если он имеет значение ложного прорыва), обновление (выполняется один раз после завершения каждого цикла)

+0

В классе я привык делать для '(int i = 0; i julesverne

+0

@ julesverne Некоторые особенности C делают его незаконным для инициализации в первой части цикла for, но вам все равно нужны точки с запятой в нужном месте, один перед проверкой и один перед обновлением, чтобы он знал, что к чему. – Patashu

+0

, поэтому я перепроверил приглашение и перечитал нижнюю часть страницы 4 и понял, что я пытаюсь напечатать матрицу, где я должен просто заполнить ее 0 и напечатать все 0 в функции печати, но я все еще просто получение выходного сигнала T0 – julesverne

0
void fill(int M[][N], int ROWS, int COLS, int row, int col) 
{ 
    int i, j; 

    for (i = 0; i < ROWS; i++) 
    { 
     for (j = 0; j < COLS ; j++) 
     { 
      cout << "0" << M[i][j]; 
     } 
    } 
    cout << "T" << M[row][col]; 
} 
Смежные вопросы