Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней - C (СИ)
Формулировка задачи:
Очень простым языком надо решить вот это чудо =(
x[8][8] Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней.
ничего не получается(((
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]) {
int i, j, s1=0, s2=0, s;
float X[8][8];
for (i=0; i<8; i++)
{
printf ("\n");
for (j=0; j<8; j++)
scanf ("%f", &X[i][j]);
}
for (i=0; i<8; i++)
for (j=0; j<8; j++)
for(i=j; i<8; i++)
{
if ( X[i][j]>0)
s1+=X[i][j];
i++;
j++;
}
for (j=0; j<i; j++)
{
if ( X[i][j]>0)
s2+=X[i][j];
i++;
j++;
}
s=s1+s2;
printf ("s=%d", s);
system ("PAUSE");
return 0;
}Решение задачи: «Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней»
textual
Листинг программы
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
if( (i!=j) && (X[i][j]>0) )
sum+=X[i][j];
}
}
Объяснение кода листинга программы
- Объявляется два вложенных цикла for для прохода по элементам матрицы X.
- Условие (i!=j) говорит, что элементы матрицы X, которые находятся над главной диагональю (для которых i>j) не учитываются в сумме.
- Условие (X[i][j]>0) говорит, что только положительные элементы матрицы X учитываются в сумме.
- Если выполняются оба условия, то значение элемента X[i][j] добавляется к переменной sum.
- После прохода по всем элементам матрицы X, значение переменной sum будет содержать сумму положительных элементов, находящихся под главной диагональю и на ней.