Как отобразить элементы без диагонали 2D Array

Я успешно отображаю элементы диагонального массива, но не могу отобразить элементы не диагонального массива, я много пробовал, но безуспешно. Вот код, с которым я пытаюсь использовать 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

На выходе отображаются также некоторые диагональные элементы.

0

Решение

Функция пропускает все элементы по диагонали 5739 (i != j позаботится об этом), но, основываясь на желаемом выводе, вы также хотите пропустить все элементы по диагонали 4902,

Чтобы также проверить другую диагональ, замените

if (i != j)

с

if (i != j && i != size-j-1)

Тестовое задание.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]