Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kivalrd
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 50
#1

Найти сумму элементов массива - C++

25.05.2014, 16:38. Просмотров 271. Ответов 2
Метки нет (Все метки)

Друзья, помогите с задачей.
Условие: Дана матрица 5х5, найти сумму элементов заштрихованной области (изображение в прикреплённом файле).

В общем, идея у меня появилась одна: найти сумму области выше главной диагонали до ниже противоположной диагонали, вместе с ней включительно.
Т.е. это условие i < j - для элементов выше главной диагонали, и i + j > n + 1 - для элементов ниже противоположной диагонали.
Беда в том, что не знаю как это реализовать. Как сделать, чтобы посчитало сумму области выше главной диагонали до области ниже противоположной диагонали, соответственно всё наоборот?

Пробовал написать код, для проверки, чтобы просто заполнить эти области 1 и 0 (главное чтобы работало, найти сумму не составит труда), и всё не то... В общем, запутался с этой задачей.
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
33
34
35
36
37
38
39
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    const int n = 5;
    int a[n][n],
    int b[n][n] = {{5, 5, 5, 5, 5},
                   {5, 5, 5, 5, 5},
                   {5, 5, 5, 5, 5},
                   {5, 5, 5, 5, 5},
                   {5, 5, 5, 5, 5}};
 
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            a[i][j] = b[i][j];
 
// Заполняем массив а
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (i < j) // выше главной диагонали
                a[i][j] = 0;
            if (i + j > n + 1) //до и ниже провоположной диагонали
                a[i][j] = 1;
        }
    }
 
// Выводим массив а
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
            cout << setw (2) << a[i][j];
        cout << endl;
    }
    return 0;
}
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 16:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму элементов массива (C++):

Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент массива - C++
Вот, что есть.Помогите довести до ума! #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void...

Найти сумму элементов массива до первого элемента равного 0, и сумму оставшихся элементов (функции) - C++
Дан массив а1, а2, …, а12. Вычислить сумму элементов этого массива до первого элемента, равного 0, и сумму оставшихся элементов.

Функции в с++. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D. - C++
Запутался уже -_- Куда че пихать не могу понять... Дан произвольный массив D размера k. Найти сумму элементов массива D, а также суммы...

Одномерные массивы и указатели (найти количество элементов массива, равных 0, сумму элементов массива...) - C++
Помогите пожалуйста разработать программу и реализовать интуитивный понятный интерфейс (используя формы).При написании программы можно...

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

Найти количество положительных элементов массива; найти сумму элементов, расположенных после заданного - C++
В одномерном массиве, состоящем из n целых элементов, вычислить: 1) Количество положительных элементов массива; 2) Сумму элементов...

2
zss
Модератор
Эксперт С++
6401 / 5967 / 1944
Регистрация: 18.12.2011
Сообщений: 15,364
Завершенные тесты: 1
25.05.2014, 17:04 #2
C++
1
2
3
4
5
6
7
8
9
10
11
// Заполняем массив а
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (j>i  && j<n-i  || j>n-i && j<i)
                a[i][j] = 1;
           else
                a[i][j] = 0;
        }
    }
1
kivalrd
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 50
25.05.2014, 18:06  [ТС] #3
zss, немножко не так работает, но огромное спасибо за наводку!
Немного переделав, получилось, что нужно:
C++
1
2
3
4
5
6
7
8
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if ( (j > i - 1 && j < n - i) || (i > j - 1 && j + i > n - 2) )
                a[i][j] = 1;
        }
    }
Найти сумму элементов массива

Соответственно и для нахождения суммы этих элементов:
C++
1
2
3
4
5
6
7
8
9
    int sum = 0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if ( (j > i - 1 && j < n - i) || (i > j - 1 && j + i > n - 2) )
                sum += a[i][j];
        }
    }
Найти сумму элементов массива
Ещё раз спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2014, 18:06
Привет! Вот еще темы с ответами:

Найти сумму n первых элементов массива и произвидения m посдедних элементов массива - C++
не могу врубиться как написать эту прогу С клавиатуры вводится массив Т найти сумму n первых элементов массива и произвидения m...

Найти сумму четных отрицательных и сумму нечетных положительных элементов массива. - C++
Составьте программу на языке С++ для решения одного из вариантов заданий. Программа должна иметь пользовательское меню, которое позволяет:...

Найти сумму четных отрицательных и сумму нечетных положительных элементов массива. - C++
Помогите написать код на с++ Программа должна иметь пользовательское меню, которое позволяет: Заполнить массив и при этом вывести его...

Найти сумму элементов главной диагонали и от каждого элемента массива отнять эту сумму - C++
Всем доброго времени суток. Прошу помочь новичку решить двумерный массив. Для Borland C++ 3.1 Дан двумерный массив размером m на n. Найти...


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

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

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