1

Тема: Робота з масивами. Використання функцій

]Потрібно відсортувати матрицю та знайти добуток елементів у кожному рядку під головною діагоналлю, а потім знайти середнє арифметичне цих добутків. Матрицю я відсортував, а як знайти ті добутки і середнє арифметичне не розумію як. Допоможіть!!!
Це мій код, що сюди потрібно додати?????

#include<stdio.h>
#include<stdlib.h>
#define n 5
void bul(int a[n][n]);
void main(void)

{
    int i, j, k;
    int a[n][n];
    system("cls");
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("a[%d][%d] =", i + 1, j + 1);
            scanf_s("%d", &a[i][j]);
        }
    }
    printf("old array\n");
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%5d", a[i][j]);
        printf("\n");
    }
    bul(a);
    printf("\nnew array\n");
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("%5d", a[i][j]);
        }
        printf("\n");
    }
}
void bul(int a[][n])
{
    int i, k, j, c;
    for (i = 0; i < n; i++)
    {
        for (k = n - 1; k >= 0; k--)
        {
            for (j = 0; j < k; j++)
            {
                if (a[i][j] < a[i][j + 1])
                {
                    c = a[i][j];
                    a[i][j] = a[i][j + 1];
                    a[i][j + 1] = c;
                }
            }
        }
    }
}

2

Re: Робота з масивами. Використання функцій

Мені ж, навпаки, дивно, як можна "відсортувати матрицю". Для матриці

4 3
2 1

відсортована - це

3 4 
1 2

чи

2 1
4 3

чи

1 2
3 4

чи ще якось? Ви сортуєте окремі рядки, наприклад.
Ну гаразд, вас це влаштовує. Однак усе одно дивно: сортування - це трохи складніша операція за пошук середнього чи добутку. У будь-якому разі, вам знадобляться додаткові змінні для добутків та середнього.
Щоб знайти добуток, ви маєте занести в змінну значення 1 і в циклі помножити її на кожен з елементів рядка.
Щоб знайти середнє арифметичне, ви маєте знайти суму і поділити її на кількість чисел, для яких ви шукаєте середнє.
Щоб знайти суму, ви маєте занести в змінну значення 0 і в циклі додати до неї всі числа, суму яких вишукаєте (тобто добутки).
Елементи під головною діагоналлю - це такі, для яких номер рядка>номер стовпчика. Тобто цикл по стовпчиках треба робити до номера рядка.

3

Re: Робота з масивами. Використання функцій

Я вводжу дані з клавіатури, тобто матрицю розміром 5x5, а вже тоді воно сортує