Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней - 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 будет содержать сумму положительных элементов, находящихся под главной диагональю и на ней.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д