2016-03-16 2 views
0

Допустит, у вас есть четыре одномерного массива с двузначными числами:диагональных элементы четыре одномерного массива

12 22 34 45 

33 01 02 05 

04 98 21 13 

03 21 45 11 

Я пытаюсь перечислить диагонали в этом сценарии, но это не работает. Диагонали в данном случае являются:

12, 1, 21, 11, 45, 2, 98, 3. 

У меня нет отладчика, поэтому я не могу понять, что это неправильно, но у меня есть чувство, что это из-за, если заявление я написал, в первую очередь row == column - 3, который технически определяет размещение 45, 02, 98 и 3, я считаю. Что здесь делается неправильно? (Вставка массива вырезается из этого.)

#include <iostream> //Older version of C++, not modern. 
using namespace std; 

for (int row = 0; row < 4; row++){ 
    for (int column = 0; column <= 4; column++){ 
     if (row == column || row==column-3){ 
      cout << array[row][column] << " "; 
     } 
    } 
} 
+1

Это 2 одномерный массив с размерностью '[4] [4]'. BTW 'row == column-3' должно быть' row == 3 - column' –

+3

'У меня нет отладчика , но почему? – yuyoyuppe

+0

@mohit Спасибо! Я вижу, где он применяется. – Sal

ответ

0
#include <iostream> //Older version of C++, not modern. 
using namespace std; 

for (int row = 0; row < 4; row++) 
{ 
for (int column = 0; column <= 4; column++) 
{ 
if (row == column || row == 3 - column) // Not column - 3 
{ 
    cout << array[row][column] << " "; 
} 
} 
} 
Смежные вопросы