int a=N*N; //число элементов в матрице – значение элемента
int side=0; //виток спирали (от 0)
//обход по спирали (от большей к меньшей)
while(a>0)
{
//слева сверху-вниз
for (i=side;i<N-side;i++)
A[i][side]=a--;
//внизу слева-направо
for (j=side+1;j<N-side;j++)
A[N-1-side][j]=a--;
//справа снизу-вверх
for(i=N-1-side-1;i>=side;i--)
A[i][N-1-side]=a--;
//сверху справа-налево
for(j=N-1-side-1;j>side;j--)
A[side][j]=a--;
//следующий виток спирали
side++;
}
//печать матрицы в виде таблицы
for (i=0;i<N;i++)
{
for (j=0;j<N;j++)
cout<<setw(6)<<A[i][j];
cout<<"\n";
}
}
Задача № 6. Написать программу, выполняющую нахождение произведения матрицы A на матрицу B.
Задача (№ 352). Дана квадратная матрица А размерностью NхN. Максимальные элементы строк заменить нулями.
Задача (№ 355). Дана квадратная матрица А размерностью NхN. Вычислить количество:
1. Вхождений заданного элемента х.
2. Максимальных элементов.
3. Минимальных элементов.
Задача (№ 356). Дана целочисленная прямоугольная матрица А размерностью NхM. Все элементы матрицы, меньшие за среднее арифметическое элементов матрицы, заменить на -1, а большие – на 1.
Задача (№ 361). Дана квадратная матрица А размерностью NхN. Вычислить разницу между наибольшим и наименьшим значениями элементов матрицы, расположенных на главной диагонали.
Задача (№ 373). Дана целочисленная прямоугольная матрица А размерностью NхM. Среди всех наименьших элементов каждой строки определить наибольший и указать его индексы.
Задача (№ 374). Дана целочисленная прямоугольная матрица А размерностью NхM. Определить сумму элементов, расположенных по внешнему контуру матрицы.
Задача. Написать программу, выполняющую нахождение произведения матрицы A на матрицу B.