Для данной матрицы нужно найти такое k, что k-я строка матрицы совпадает с k-м столбцом - C (СИ)
Формулировка задачи:
Для заданной матрицы размера NхN найти такое k, что k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, содержащих хотя бы один отрицательный элемент.
Нужно решить самым элементарным способом... буду рада любой подсказке!
Решение задачи: «Для данной матрицы нужно найти такое k, что k-я строка матрицы совпадает с k-м столбцом»
textual
Листинг программы
#include <stdio.h>
#define N 4
main()
{
int m[N][N]={{1,-1,-5,4},{5,7,6,8},{-5,6,7,8},{7,0,8,-1}};
int i,j,k,summa;
for(i=0;i<N;i++) //вывод матрицы
{
for(j=0;j<N;j++)
{
printf("%3d",m[i][j]);
}
printf("\n");
}
// поиск k
for(k=0;k<N;k++)
{
i=0; //количество одинаковых элементов
while((m[k][i]==m[i][k])&&(i<N))
i++;
if(i==N) //если все элементы строки и столбца равны
printf("k = %d\n",k);
}
// сумма строки с отрицательным элементом
for(i=0;i<N;i++)
{
summa=0; //количество отрицательных элементов
for(j=0;j<N;j++)
{
if(m[i][j]<0)
{
summa++;
}
}
if(summa>0) //если отрицательных элементов больше 0
{
summa=0; //сумма строки
for(k=0;k<N;k++)
summa+=m[i][k]; //сумма строки
printf("Summa str %d = %d\n",i,summa);
}
}
}
Объяснение кода листинга программы
- Включаем заголовочный файл stdio.h для использования функций вывода.
- Определяем размерность матрицы N=4.
- Создаем матрицу m[N][N] и инициализируем ее значениями.
- В цикле for выводим значения матрицы на экран.
- В цикле for ищем такое k, что k-я строка матрицы совпадает с k-м столбцом.
- В цикле for ищем сумму элементов строки с отрицательным значением.
- Выводим результат на экран.