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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
#1

Найти сумму элементов, расположенных на главной диагонали. - C++

24.01.2014, 15:51. Просмотров 1373. Ответов 30
Метки нет (Все метки)

Массив в памяти разместить динамически (с использованием операций new и delete). Найти сумму элементов, расположенных на главной диагонали

народ помогите сделать задание
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2014, 15:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму элементов, расположенных на главной диагонали. (C++):

Массив. Найти сумму элементов, расположенных на главной диагонали - C++
Задан двухмерный массив целых чисел А размером N на M. Найти сумму элементов, расположенных на главной диагонали.

Найти сумму элементов расположенных выше главной диагонали. - C++
Дан массив размерности 3х3. Найти сумму его элементов, расположенных выше главной диагонали. Вот начало (все на что я способен) ...

Найти сумму элементов матрицы расположенных по главной диагонали - C++
как найти сумму элементов матрицы расположенных по главной диагонали 1 2 3 А=4 5 6 <----матрица ок) 6 7 8 в С++...

Найти сумму максимальных элементов, расположенных на главной диагонали матрицы - C++
Даны три массива a, b, c. Найти сумму максимальных элементов, расположенных на главной диагонали помогите пожалуистаа прошу

В массиве А(12, 12) найти сумму элементов расположенных на главной диагонали матрицы - C++
Найти А(12,12) сумма элементов, расположенных на главной диагонали матрицы.

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

30
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.01.2014, 16:25 #2
Andrey027,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
int main ()
{
    size_t N;
    std::cout<<"Enter size:";
    std::cin>>N;
    int ** mas = new int *[N];
    std::cout<<"Enter array:\n";
    for(size_t i=0; i<N; i++)
        mas[i] = new int [N];
    for(size_t i=0; i<N; i++)
        for(size_t j = 0; j<N; j++)
            std::cin>>mas[i][j];
    int Sum(1);
    for(size_t i=0; i<N; i++)
        Sum+=mas[i][i];
        std::cout<<"Sum of the main diagonal = "<<Sum;
 
    return 0;
}
1
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 16:33  [ТС] #3
А это точно двумерный динамический массив? А то больше всего похоже на одномерный.
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.01.2014, 16:39 #4
Цитата Сообщение от Andrey027 Посмотреть сообщение
А это точно двумерный динамический массив? А то больше всего похоже на одномерный.
Мне кажется тебе нужно почитать больше про все это дело.
Вот мы выделяем память под массив(двумерный):
C++
1
2
3
int ** mas = new int *[N];
   for(size_t i=0; i<N; i++)
        mas[i] = new int [N];
А здесь мы заполняем его
C++
1
2
3
   for(size_t i=0; i<N; i++)
        for(size_t j = 0; j<N; j++)
            std::cin>>mas[i][j];
Формула главной диагонали: i = j.
Находим сумму
C++
1
2
3
    int Sum(1);
    for(size_t i=0; i<N; i++)
        Sum+=mas[i][i];
1
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 16:45  [ТС] #5
А как сделать так чтобы выводило значения (в виде матрицы) введенные с клавиатуры??
0
Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
24.01.2014, 17:00 #6
Цитата Сообщение от Andrey027 Посмотреть сообщение
А как сделать так чтобы выводило значения (в виде матрицы) введенные с клавиатуры??
C++
1
2
3
4
5
6
7
8
9
for(size_t i=0; i<N; i++)
        {
            for(size_t j = 0; j<N; j++)
            {
                   std::cout << mas[i][j] << " ";
                   std::cout << "\n";
      
            }
         }
0
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 17:04  [ТС] #7
Аего вставлять этот код в конце?
0
Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
24.01.2014, 17:06 #8
Цитата Сообщение от Andrey027 Посмотреть сообщение
Аего вставлять этот код в конце?
Ну естественно после того как массив заполнили вручную с клавиатуры:
Цитата Сообщение от cooller_94 Посмотреть сообщение
for(size_t i=0; i<N; i++)
for(size_t j = 0; j<N; j++)
std::cin>>mas[i][j];
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.01.2014, 17:07 #9
Цитата Сообщение от Andrey027 Посмотреть сообщение
А как сделать так чтобы выводило значения (в виде матрицы) введенные с клавиатуры??
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
#include <iostream>
#include<iomanip>
int main ()
{
    size_t N;
    std::cout<<"Enter size:";
    std::cin>>N;
    int ** mas = new int *[N];
    std::cout<<"Enter array:\n";
    for(size_t i=0; i<N; i++)
        mas[i] = new int [N];
    for(size_t i=0; i<N; i++)
        for(size_t j = 0; j<N; j++)
            std::cin>>mas[i][j];
    std::cout<<"Array:\n";
    for(size_t i=0; i<N; i++,std::cout<<std::endl)
        for(size_t j = 0; j<N; j++)
            std::cout<<std::setw(5)<<mas[i][j];
    int Sum(1);
    for(size_t i=0; i<N; i++)
        Sum+=mas[i][i];
    std::cout<<"Sum of the main diagonal = "<<Sum;
 
}
0
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 17:09  [ТС] #10
Она выводит тогда матрицу в столбец. А как сделать чтобы например было
Ввели
1
2
3
1
2
3
2
2
2

И вывело

1 2 3
1 2 3
3 2 2

сумма гл диагон = 5. Что то типа такого.
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.01.2014, 17:11 #11
Andrey027, Последний код мой смотри
0
Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
24.01.2014, 17:12 #12
Цитата Сообщение от Andrey027 Посмотреть сообщение
Она выводит тогда матрицу в столбец
C++
1
2
3
4
5
6
 for(size_t i=0; i<N; i++)
        {
            for(size_t j = 0; j<N; j++)
                   std::cout << mas[i][j] << " ";
             std::cout << "\n";           
         }
0
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 17:22  [ТС] #13
А надо чтобы в строчку

Добавлено через 3 минуты
Она почему то выволдит неверный ответ когда я ввожу значения
размер 2
значения
2
2
2
2
а ответ в итоге 5
0
Ev_Hyper
Заблокирован
24.01.2014, 17:29 #14
Andrey027, там неточность поменяйте строку:
C++
1
int Sum(1);
на
C++
1
int Sum=0;
0
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 17:32  [ТС] #15
а чтобы выводило веденные значения с клавиатуры на экран например
введ р-р 2
введ эл массива
2
2
2
2

потом выводит
2 2
2 2

сумма = 4

на подобие этого
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 17:32
Привет! Вот еще темы с ответами:

Найти сумму отрицательных элементов расположенных на главной диагонали матрицы - C++
Задана матрица A 1.Найти сумму отрицательных элементов расположенных на главной диагонали 2.Найти максимальный элемент среди...

Найти сумму модулей элементов, расположенных выше главной диагонали матрицы - C++
for( int i = 0; i &lt; n; i++ ) for( int j = i+1; j &lt; n; j++ ) s += abs(array); Так он находит сумму модулей элементов ниже главной...

Найти сумму всех элементов матрицы, расположенных ниже главной диагонали - C++
Дан массив A(n,n) найти сумму всех его элементов, расположенных ниже главной диагонали Название темы должно отражать ее суть

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


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
24.01.2014, 17:32
Ответ Создать тему
Опции темы

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