По данной матрице построить массив, элементы которого являются
максимальными элементами диагоналей, параллельных главной.
ниже код программы.
что нужноисправить?
include "stdafx.h"
include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
const int q = 5;
int i, j,max, y,r, b[20], a[q][q];
//цикл по переменной i, в которой перебираем строки матрицы
for (i = 0; i < q; i++)
//цикл по переменной j, в котором перебираем элементы внутри строки
for (j = 0; j < q; j++)
a[i][j] = rand() % 50; //ввод очередного элемента матрицы
cout << "Матрица \n";
for (i = 0; i < q; i++)
{
for (j = 0; j < q; j++)
cout << a[i][j] << "\t";
cout << endl;
}
{
int y = 0;
for (r = 1 - q; r < q - 1; r++)
{
int max = 0;
y++;
for (int i = 1; i < q; ++i)
{
for (j = 1; j < q; j++)
if ((r = j - i) && (a[i][j] > max))
max = a[i][j];
b[y] = max;
}
}
for (i = 1; (2 * q - 1) < q; i++)
cout << b[y] << " ";
}
system("pause");
return 0;
}


