Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
yrahaig
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 18
1

Подсчитать сумму элементов левого треугольника матрицы

05.11.2018, 20:01. Просмотров 868. Ответов 3
Метки нет (Все метки)

Создайте двумерный массив размерностью N×N, где N – нечетное число. Введите значения элементов массивов с клавиатуры. Подсчитайте сумму значений тех элементов массива, которые, например для N = 9, отмечены на рисунке звездочками. Выведите полученную сумму на экран.
0
Изображения
 
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2018, 20:01
Ответы с готовыми решениями:

Расположить в порядке убывания ненулевые элементы левого нижнего треугольника матрицы
Расположить в порядке убывания ненулевые элементы левого нижнего треугольника матрицы. Пишу в Dev...

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

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

Подсчитать сумму элементов заданного столбца матрицы (с использованием директив препроцессора)
вариант 1 Ввести в память машины массив размером N*M. Подсчитать сумму элементов заданного...

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

3
ft4l
Невнимательный
258 / 220 / 93
Регистрация: 08.02.2013
Сообщений: 660
Записей в блоге: 2
06.11.2018, 11:08 2
Лучший ответ Сообщение было отмечено yrahaig как решение

Решение

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
#include<stdio.h>
#include<stdlib.h>
 
int main(){
 
    int a, b, c, n, sum=0;
    printf("\nSize ?: ");
    scanf("%d", &n);
 
    if (!(n%2)){
        ++n;
        printf("Size = %d\n", n);
    }
    int Mx[n][n];
    for (a=0;a<n;a++) {
        for (b=0;b<n;b++){
            Mx[a][b] = rand()%100;
            printf(" %.2d", Mx[a][b]);
        }
        printf("\n");
    }
    printf("----------------------------------------------------\n");
    for (a=0, c=n-1;a<n;a++, c--) {
        for (b=0;b<=(n>>1);b++){
            if(b<=a && c>=b) sum += Mx[a][b];
        }
    }
//------------------------------------------------- 
    printf("Summa = %d\n\n", sum);
    return 0;
}
Может быть есть вариант сделать оптимальнее

Добавлено через 3 минуты
Насчётт ввода значений нужно заменить это
Mx[a][b] = rand()%100;
на это
scanf("%d", &Mx[a][b]);
и поменять формат " %.2d"
1
yrahaig
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 18
07.11.2018, 14:03  [ТС] 3
Почему в строчке:
Цитата Сообщение от ft4l Посмотреть сообщение
int Mx[n][n];
Выражение должно иметь константный вид?
0
ft4l
Невнимательный
258 / 220 / 93
Регистрация: 08.02.2013
Сообщений: 660
Записей в блоге: 2
07.11.2018, 17:02 4
Это, как оказалось, компиляторы кроме MSVC могут сами понять где программа должна запрашивать выделение памяти ,)
или надо явно прописывать вызов malloc и использовать *Mx или **Mx
, второе позволяет к элементам обращаться так-же как Mx[a][b]
, с первым нужно переделывать под Mx[a*n+b]
0
07.11.2018, 17:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2018, 17:02

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

Найти сумму элементов массива в области правого и левого сегмента двумерного массива
Добрый день.Есть задание:Найти сумму элементов массива в области правого и левого сегмента...

Найти сумму элементов в каждой строке матрицы, сумму элементов в каждом столбце, max элемент из сумм
Задан двумерный массив целых чисел размерности N на M, массив либо вводится пользователем, либо...


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

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

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