Найти сумму отрицательных элементов нижней треугольной матрицы - C (СИ)
Формулировка задачи:
В матрице вещественных величин С(5,5) найти сумму отрицательных элементов нижней треугольной матрицы. Поменять местами максимальный и последний элемент массива.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{float A[5][5];
int i, j;
for(i=0; i<5; i++)
for(j=0; j<5; j++)
//блаблабла запуталась дальше
}Решение задачи: «Найти сумму отрицательных элементов нижней треугольной матрицы»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
int main()
{
float C[N][N];
float sum = 0;
float max = 0;
int i, j;
float *p;
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
C[i][j] = ( 100.0f * rand() ) / RAND_MAX;
if( max < C[i][j])
{
max = C[i][j];
p = &C[i][j];
}
}
}
for(i = 0; i < N; i++)
{
for(j = 0; j < i; j++)
{
sum += C[i][j];
}
}
printf(" First array:\n ");
for(i = 0; i < N; i++)
{
printf("\n");
for(j = 0; j < N; j++)
{
printf("%8.2f", C[i][j]);
}
}
printf("\n\n Suma = %4.2f ", sum);
float tmp = C[N - 1][N - 1];
C[N - 1][N - 1] = *p;
*p = tmp;
printf("\n\n Second array:\n ");
for(i = 0; i < N; i++)
{
printf("\n");
for(j = 0; j < N; j++)
{
printf("%8.2f", C[i][j]);
}
}
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде создается массив C размером NxN (где N=5), заполняемый случайными числами от 0 до 100. Затем находится максимальное значение в массиве и его индексы. Далее, начиная с элемента с максимальным значением, суммируются все отрицательные элементы нижней треугольной матрицы (т.е. элементы, которые находятся ниже главной диагонали). Затем выводится исходный массив, сумма отрицательных элементов и сам массив с отрицательными элементами заменены на максимальное значение, найденное ранее.