1

Тема: Обробка двовимірних масивів

Для кожного стовпця заданої матриці знайти суму елементів, що розташовані нижче головної діагоналі. Скласти та надрукувати матрицю.

2

Re: Обробка двовимірних масивів

Усе погано

Подякували: leofun011

3

Re: Обробка двовимірних масивів

spraytikus написав:

Для кожного стовпця заданої матриці знайти суму елементів, що розташовані нижче головної
діагоналі. Скласти та надрукувати матрицю.

#include <stdio.h>

float get_sum(float const *const arr, int start, int end, int step) {
    float sum = 0.f;
    for(int i = start; i < end; i += step)
        sum += arr[i];
    return sum;
}
#define N 5
int main(int argc, char *argv[]) {
    float m[N][N] = {
        { +1.f, -2.f, +3.f, -4.f, +5.f },
        { -2.f, +3.f, -4.f, +5.f, -6.f },
        { +3.f, -4.f, +5.f, -6.f, +7.f },
        { -4.f, +5.f, -6.f, +7.f, -8.f },
        { +5.f, -6.f, +7.f, -8.f, +9.f },
    };
    char format[] = "\t%+0.2f";
    for(int y = 0; y < N; ++y) {
        for(int x = 0; x < N; ++x)
            printf(format, m[y][x]);
        printf("\n");
    }
    printf("\nsum:");
    for(int i = 0; i < N; ++i)
        printf(format, get_sum(&m[i][i], N, N * (N - i), N));
    printf("\n");
    return 0;
}