Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
LightProger
38 / 38 / 15
Регистрация: 29.12.2016
Сообщений: 291
1

Сложить элементы массива под побочной диагональю

21.06.2018, 18:25. Просмотров 262. Ответов 2
Метки нет (Все метки)

Всем здравствуйте! Нужна помощь при решении задания, большую часть уже я сделал, не могу придумать условие, чтобы сложить элементы двумерного массива под побочной диагональю.


Для заданной квадратной матрицы A[N] посчитать следующие величины:

сумму элементов, находящихся над главной диагональю
сумму элементов, расположенных под побочной диагональю


Входные данные:
Одно натуральное число N
. Далее с новой строки N строк по N целых чисел в каждой. N

не превышают десяти.

Выходные данные:
Два целых числа, записанных через пробел. Первым вывести меньшее из чисел.

Sample Input:

3
1 2 3
1 4 5
9 3 -7

Sample Output:

1 10


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
 
 
int main()
{
    int n = 0, a = 0, b = 0;                  //размер массива
    int i, j;                   //переменные
 
    do{
        scanf("%d", &n);
        /* ограничение размера матрицы */
    }while(n < 1 || n > 10);
 
 
    int arr[n][n];              //массив
 
    /* заполняем массив и делаем рассчеты*/
    for(i = 0; i < n; i++)      //бежим по строкам
    {
        for(j = 0; j < n; j++)  //бежим по столбцам
        {
            scanf("%d", &arr[i][j]);
            if(i < j) a += arr[i][j]; //главная диагональ
            if () b += arr[i][j];  // побочная диагональ  ????????
        }
    }
 
    /* Выводим на печать */
    (a < b) ? printf("%d %d", a, b) : printf("%d %d", b, a);
    printf("\n");
    return 0;
}
Добавлено через 57 минут
Сам нашел решение, тема закрыта:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
 
 
int main()
{
    int n = 0, a = 0, b = 0;                  //размер массива
    int i, j;                   //переменные
 
    do{
        scanf("%d", &n);
        /* ограничение размера матрицы */
    }while(n < 1 || n > 10);
 
 
    int arr[n][n];              //массив
 
    /* заполняем массив и делаем рассчеты*/
    for(i = 0; i < n; i++)      //бежим по строкам
    {
        for(j = 0; j < n; j++)  //бежим по столбцам
        {
            scanf("%d", &arr[i][j]);
            if(i < j) a += arr[i][j]; //главная диагональ
            if (i >= n - j) b += arr[i][j];  // побочная диаональ  ????????
        }
    }
 
    /* Выводим на печать */
    (a < b) ? printf("%d %d", a, b) : printf("%d %d", b, a);
    printf("\n");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2018, 18:25
Ответы с готовыми решениями:

Из двумерного массива, перенести элементы находящие под главной диагональю в одномерный
Дан двумерный массив, размером nxn/ Сформировать одномерный массив из...

Найти минимальный элемент под побочной диагональю
В данной действительной квадратной матрице N*N. Найти минимальный элемент под...

Найти максимальный из элементов матрицы, расположенных под её побочной диагональю
Дана квадратная матрица порядка N . Найти максимальный из элементов матрицы ,...

Найти количество нулевых элементов матрицы, которые находятся под побочной диагональю
помогите я на контр роб найти колличество нулевых элементов в двухмерном масиве...

Матрица: сложить элементы диагоналей, параллельных побочной
Помогите, не могу разобраться, как сложить элементы диагоналей параллельных...

2
stake-k26
537 / 410 / 323
Регистрация: 25.04.2016
Сообщений: 1,191
21.06.2018, 21:18 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
int main (void)
{
    int a[5][5], n = 5, i, k;
 
    for (i=0; i<n; i++)     // заполняем случайными
    {
        for (k=0; k<n; k++)
            printf("%3d", a[i][k] = rand()%10);
        printf("\n");
    }
 
    int sum = 0;            // ищем сумму
    for (i=n-1; i>0; i--)
        for (k=n-i; k<n; k++)
            sum += a[i][k];
 
    // результат на экран
    printf("sum = %d\n", sum);
 
    return 0;
}
меньше шагов
1
LightProger
38 / 38 / 15
Регистрация: 29.12.2016
Сообщений: 291
22.06.2018, 04:34  [ТС] 3
stake-k26, Спасибо, большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2018, 04:34

Вычисление сумм по строкам элементов, находящихся под побочной диагональю двумерной квадратной матрицы
Ребята, ребятушки, я очень плох в матрицах и мне не хватает 1 балла, чтоб...

Заменить элементы главной диагонали матрицы max побочной диагональю min
Ввести массив 4x4 определить max и min. Заменить элементы главной диоганали...

Рекурсивно просуммировать элементы матрицы под главной диагональю
Рекурсивно просуммировать элементы матрицы под главной диагональю. При этом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru