Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/141: Рейтинг темы: голосов - 141, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25

Найти сумму элементов главной диагонали матрицы

27.01.2015, 11:18. Показов 27641. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить задачи,я недавно начал заниматься программированием,не разобрался во всём.Программа Borland 5.0.
1)Дана квадратная матрица порядка M. Найти сумму элементов ее главной диагонали.
2)Получить таблицу значений функции y=f(x) при изменении x на отрезке[a;b]c шагом h. Отрезок[-4;4], шаг h=0.5(функция записана ниже).

https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x)=\left \{e^{x-2} , 0\leq x\leq 2 \\ lg(x) , x>2 \\ 0.1 , x<0\
 Комментарий модератора 
В теме должна быть одна задача!


Как написать матрицу я понял,а вот как складывать элементы диагонали незнаю.

C++
1
2
3
4
5
6
7
8
9
#include <iostream> 
using namespace std;
int main() 
{
    int A[n][n]={};
    for(int i=0; i<n; i++)
    for(int j=0; j<n; j++)
       {
           cin >> A[i][j];
По поводу второй сказать ничего не могу,ищу примеры.Помогите кто чем может.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2015, 11:18
Ответы с готовыми решениями:

Найти сумму элементов матрицы, расположенных выше главной диагонали и ниже побочной диагонали
не соображу В среде MS Visual C++ разработать программу, которая формирует матрицу размером n х n (значение n вводится с клавиатуры) и...

Найти сумму элементов матрицы, расположенных выше главной диагонали и ниже побочной диагонали
Никак не могу написать код. Есть небольшие наброски ниже, если кто сможет помочь - заранее спасибо! Дана целочисленная квадратная...

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

20
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
27.01.2015, 12:20
C++
1
2
3
int sum=0;
 for(int i=0; i<n; i++)
     sum+=A[i][i];
1
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
28.01.2015, 13:28  [ТС]
а как это обьединить,чтоб работало?Не получается.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
28.01.2015, 14:07
Цитата Сообщение от kormorant Посмотреть сообщение
Не получается.
Пример того, что получается, приведите.
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
28.01.2015, 14:43  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream> 
using namespace std;
 
int main() 
{
    const int n=10;
    int A[n][n]={};
    for(int i=0; i<n; i++)
    for(int j=0; j<n; j++)
    {
        cin >> A[i][j];
int sum=0;
 for(int i=0; i<n; i++)
     sum+=A[i][i];
cout <<"Сумма элементов главной диагонали sum="<<sum << endl;
    return 0;
}
Чего то не хватает.Или строки, как получить сумму, не полностью записаны.И ещё ошибки ссылаются на элемент i(строка вроде бы,j-столбец).
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
30.01.2015, 12:32  [ТС]
Можете подсказать в чём проблемма?
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
30.01.2015, 12:47
Цитата Сообщение от kormorant Посмотреть сообщение
C++
1
2
3
for(int j=0; j<n; j++)
{
 cin >> A[i][j];
Фигурную скобку эту убери.
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
30.01.2015, 15:01
kormorant,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
using namespace std;
 
int main() 
{
    const int n=10;
    int A[n][n];
    for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
            cin >> A[i][j];
    int sum=0;
    for(int i=0; i<n; i++)
        sum+=A[i][i];
    cout <<"Сумма элементов главной диагонали sum = "<<sum << endl;
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
30.01.2015, 16:29  [ТС]
Множественное заявление для i. Ссылается на строку 12.После удаления строки(ради эксперимента) выходит окно с введением данных,пустое...При вводе n-ного числа переменных всё равно ничего не происходит.Кстати,использование...
using namespace std;
....в любом моём коде даёт ошибку.
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
30.01.2015, 16:33
kormorant, ну попробуйте иначе. У меня этот код работает.
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 <iostream> 
 
int main() 
{
    const int n=10;
    int A[n][n];
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            A[i][j] = rand()%10;
            std::cout << A[i][j] << " ";
        }
        std::cout << std::endl;
    }
 
    int sum=0;
    for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
            if (i == j)
                sum += A[i][i];
    std::cout <<"Сумма элементов главной диагонали sum = "<< sum << std::endl;
    system("pause>>null");
    return 0;
}
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,646
Записей в блоге: 6
30.01.2015, 16:39
Цитата Сообщение от kormorant Посмотреть сообщение
Множественное заявление для i. Ссылается на строку 12.
В старом компиляторе Visual Studio переменная цикла обявлялась как переменная в текущей области видимости. Варианты решения проблемы:
1) Не объявлять переменную повторно. Т.е.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
using namespace std;
 
int main() 
{
    const int n=10;
    int A[n][n];
    for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
            cin >> A[i][j];
    int sum=0;
    for(i=0; i<n; i++)
        sum+=A[i][i];
    cout <<"Сумма элементов главной диагонали sum = "<<sum << endl;
    return 0;
}
2)Дать переменной другое имя:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
using namespace std;
 
int main() 
{
    const int n=10;
    int A[n][n];
    for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
            cin >> A[i][j];
    int sum=0;
    for(int k=0; k<n; k++)
        sum+=A[k][k];
    cout <<"Сумма элементов главной диагонали sum = "<<sum << endl;
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
30.01.2015, 16:57  [ТС]
Цитата Сообщение от Ilot Посмотреть сообщение
В старом компиляторе Visual Studio переменная цикла обьявлялась как переменная в текущей области видимости. Варианты решения проблемы:
1) Не объявлять переменную повторно.
ошибка больше не выходит...но опять же можно вводить бесконечное количество переменных
Миниатюры
Найти сумму элементов главной диагонали матрицы  
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
30.01.2015, 17:16  [ТС]
решил попробовать вбить команду end в окне ввода,выдал ответ.18492 при 2 переменных 3 и 3.даже незнаю чего ввожу,то ли количество столбцов и строк,то ли ещё чего нибудь.
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
30.01.2015, 17:25
кинь код посмотрю что у тебя там
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
30.01.2015, 17:32  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream> 
 
int main() 
{
    const int n=10;
    int A[n][n];
    for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
            cin >> A[i][j];
    int sum=0;
    for(i=0; i<n; i++)
        sum+=A[i][i];
    cout <<"Summa elementov glavnoi diagonali sum = "<<sum << endl;
    return 0;
}
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
30.01.2015, 17:35
вы же понимаете ,что двумерный массив это так скажем таблица ,в вашем случае у нее 10 строчек по 10 элементов
0
3 / 3 / 3
Регистрация: 25.01.2015
Сообщений: 25
30.01.2015, 17:40
У Вас массив А на 100 элементов, если заполнять не все элементы то в незаполненных может быть мусор.
Нужна начальная инициализация нулями.
C++
1
int A[n][n] = {0};
1
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
30.01.2015, 17:42  [ТС]
Матрица вы хотели сказать?Задаётся двумя параметрами i j.Количество строк и стобцов,ну или размерность- второго порядка,третьего порядка....Задать n не как постоянное число const int n=10?
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
30.01.2015, 17:45
матрица это и есть двумерный массив , я не могу понять в чем ваша проблема ?
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 25
30.01.2015, 17:56  [ТС]
Скорпион открыл мне глаза,мне дали пример с матрицей на 100 элементов,я б до ночи писал их,а так изменил на const int n=3
и всё.ввёл 9 элементов и выдало ответ.Всем спасибо за внимание и бесценную помощь.
Миниатюры
Найти сумму элементов главной диагонали матрицы  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2015, 17:56
Помогаю со студенческими работами здесь

Найти сумму всех элементов главной диагонали матрицы, и сумму всех отрицательных элементов побочной диагонали
15. Найти сумму всех элементов главной диагонали матрицы P(10*10) и сумму всех отрицательных элементов побочной диагонали.

Найти сумму элементов главной диагонали матрицы
Реализуйте с помощью цикла while подсчет суммы элементов главной диагонали после вывода заполненного массива в виде таблицы. И 2 варианта...

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

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

Найти сумму элементов главной диагонали матрицы
найти сумму элементов главной диагонали матрицы P. Помогите пожалуйста


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru