Я успешно отображаю элементы диагонального массива, но не могу отобразить элементы не диагонального массива, я много пробовал, но безуспешно. Вот код, с которым я пытаюсь использовать Turbo C ++ —
#include<conio.h>
#include<iostream.h>
void accept(int a[4][4],int size)
{
cout<<"Diagonal One:";
for (int i=0;i<size;i++)
for(int j=0;j<size;j++)
if (i!=j)
cout<<"\n"<<i <<" "<<j<<" "<<a[i][j];
}
void main()
{
int a[4][4]={{5,4,3,4},{6,7,9,1},{8,0,3,7},{2,4,5,9}};
clrscr();
accept(a,4);
getch();
}
Пример: если содержимое массива
5 4 3 4
6 7 9 1
8 0 3 7
2 4 5 9
Вывод через функцию должен быть:
4 3 6 1 8 7 4 5
На выходе отображаются также некоторые диагональные элементы.
Функция пропускает все элементы по диагонали 5739
(i != j
позаботится об этом), но, основываясь на желаемом выводе, вы также хотите пропустить все элементы по диагонали 4902
,
Чтобы также проверить другую диагональ, замените
if (i != j)
с
if (i != j && i != size-j-1)
Других решений пока нет …