Другие языки программирования и технологии

помогите задачу по двумерных массивах на С ++

пользователь водет с клавиатуры массив размером (5 × 5), программа выводит на экран введен массив и элементы массива, находящихся в заштрихованной области
Polalex08 Полетаев
Polalex08 Полетаев
1 593
#inсludе <сstdlib>
#inсludе <сtimе>
#inсludе <iоmаniр>
#inсludе <iоstrеаm>
using nаmеsрасе std;
int mаin(){
 srаnd(timе (NULL));
 sеtlосаlе (LС_АLL, "Russiаn");
 соnst int n = 5;
 int а [n][n];
 fоr (int i = 0; i < n; ++i)
  fоr (int j = 0; j < n; соut << "а [" << i << "][" << j << "] = ", а [i][j] = rаnd() % 10,соut << а [i][j] << еndl/*, сin >> а [i][j]*/, ++j);
 соut << "Bвeдён мaccив: " << еndl;
 fоr (int i = 0; i < n; соut << еndl, ++i)
  fоr (int j = 0; j < n; соut << sеtw(2) << а [i][j], ++j);
 соut << еndl << "Зaштpиxoвaннaя oблacть:" << еndl;
 fоr (int i = 0; i < n; соut << еndl, ++i)
  fоr (int j = 0; j < n; (j >= i && j < n - i) ? соut << sеtw(2) << а [i][j] : соut << " ",++j);
 сin.gеt();
 rеturn 0;
}
Игорь Белов
Игорь Белов
56 322
Лучший ответ
const int size = get_size();
int a[size][size], last = size - 1;
for (size_t row = 0; row < size; ++row) {
for (size_t col = 0; col < size; ++col) {
if (row == col) { /* Элементы главной диагонали */ }
if (row > col) { /* Элементы ниже главной диагонали */ }
if (row < col) { /* Элементы выше главной диагонали */ }
if (row + col == last) { /* Элементы побочной диагонали */ }
if (row + col > last) { /* Элементы ниже побочной диагонали */ }
if (row + col < last) { /* Элементы выше побочной диагонали */ }
}
}
Павел Малоштанов if (row<=col && row+col<=size-1)
можно в лоб
cout << arr[0][0];cout << arr[0][1];cout << arr[0][2];cout << arr[0][3]; << arr[0][4]; cout << "\n";
cout << arr[1][1];cout << arr[1][2];cout << arr[1][3];cout << "\n";
cout << arr[2][2];cout << "\n";
Roman Fedorovyh
Roman Fedorovyh
58 782
const int size = 5;
arrray[size][size];
for (int row=0; row < size/2+size%2; ++row)
for (int col=row; col < size-row; ++col)
std::cout << array[row][col] << std::endl;