Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 19
1

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

22.02.2017, 03:31. Просмотров 683. Ответов 11

Дана квадратная матрица. Найти сумму элементов, которые больше, чем максимум главной диагонали. Поменять местами элементы главной и побочной диагоналей.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2017, 03:31
Ответы с готовыми решениями:

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

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

Найти сумму элементов массива, которые меньше чем элемент главной диагонали
В массмве 5×5.найти сумму элементов массива, которые меньше чем элемент главной диагонали,который...

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

11
147 / 147 / 104
Регистрация: 13.11.2016
Сообщений: 555
22.02.2017, 14:06 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
    setlocale(LC_ALL, "rus");
    srand((unsigned)time(NULL));
    const int n=5;
    double MaxMDiag=DBL_MIN, arr[n][n], sum=0;
    cout << "Массив" << endl; 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            arr[i][j] = (rand()%71-20)*0,12;
            if (i==j && arr[i][j]>MaxMDiag)
                MaxMDiag = arr[i][j];
            cout << arr[i][j] << '\t';
        }
        cout << endl;
    }
    cout << "Новый массив" << endl;
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            if (arr[i][j]>MaxMDiag)
                sum += arr[i][j];
            if (i==j)
            swap(arr[i][i], arr[i][n-i-1]);
            cout<< arr[i][j] << '\t';
        }
        cout << endl;
    }
    if (sum == 0)
        cout << "В массиве нету элементов больших максимума главной диагонали!" << endl;
    else
        cout << "Сумма элементов массива, которые больше максимума главной диагонали: " << sum << endl;
    system("pause");
    return 0;
}
так?
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 19
24.02.2017, 00:04  [ТС] 3
Цитата Сообщение от FreeYourMind Посмотреть сообщение
так?
сейчас проверю)
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 19
28.02.2017, 23:31  [ТС] 4
Цитата Сообщение от FreeYourMind Посмотреть сообщение
так?
'arr' was not declared in this scope
'sum' was not declared in this scope
такие вот ошибки.(
0
Life Builder
520 / 487 / 373
Регистрация: 12.01.2011
Сообщений: 1,710
01.03.2017, 16:14 5
В строке 16 вместо запятую нужно поставить точку. Иначе массив будет состоять только из нулей.
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 19
01.03.2017, 17:10  [ТС] 6
Цитата Сообщение от sk007 Посмотреть сообщение
В строке 16 вместо запятую нужно поставить точку. Иначе массив будет состоять только из нулей.
'arr' was not declared in this scope в 16,28,31,32 строках
'sum' was not declared in this scope в 29,36 строках
не знаешь, что это за ошибка?
0
Life Builder
520 / 487 / 373
Регистрация: 12.01.2011
Сообщений: 1,710
01.03.2017, 17:35 7
А Вам описание ошибки ничего не говорить?
Вы в каком языке пишите, с++?
Попробуйте заменить в 10-ой строчке arr[n][n] на arr[n][n]={0}
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 19
01.03.2017, 18:09  [ТС] 8
Цитата Сообщение от sk007 Посмотреть сообщение
Попробуйте заменить в 10-ой строчке arr[n][n] на arr[n][n]={0}
не сработало
пишу в C++
0
Life Builder
520 / 487 / 373
Регистрация: 12.01.2011
Сообщений: 1,710
01.03.2017, 18:18 9
У меня лично приведенный код работает. На MSVS 2017
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 19
01.03.2017, 18:24  [ТС] 10
Цитата Сообщение от sk007 Посмотреть сообщение
У меня лично приведенный код работает. На MSVS 2017
можешь свой код скинуть?
У меня Code Block
0
Life Builder
520 / 487 / 373
Регистрация: 12.01.2011
Сообщений: 1,710
01.03.2017, 18:51 11
Чуток изменил код FreeYourMind.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <ctime>
 
using namespace std;
int main ()
{
    setlocale(LC_ALL, "rus");
    srand((unsigned)time(NULL));
    const int n=5;
    double MaxMDiag=0, arr[n][n], sum=0;
    cout << "Массив" << endl; 
    
    //Заполняем наш массив
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            arr[i][j] = (rand()%71-20)*0.12;
    //Конец заполнения
    
    MaxMDiag = arr[0][0];
    
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            if (i==j && arr[i][j]>MaxMDiag)
                MaxMDiag = arr[i][j];
            cout << arr[i][j] << '\t';
        }
        cout << endl;
    }
    
    cout << "Новый массив" << endl;
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            if (arr[i][j]>MaxMDiag)
                sum += arr[i][j];
            if (i==j)
            swap(arr[i][i], arr[i][n-i-1]);
            cout<< arr[i][j] << '\t';
        }
        cout << endl;
    }
    
    if (sum == 0)
        cout << "В массиве нету элементов больших максимума главной диагонали!" << endl;
    else
        cout << "Сумма элементов массива, которые больше максимума главной диагонали: " << sum << endl;
    
    system("pause");
    return 0;
}
так работает?
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 19
01.03.2017, 19:26  [ТС] 12
Цитата Сообщение от sk007 Посмотреть сообщение
Чуток изменил код FreeYourMind.
я уже написал другой код
спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2017, 19:26

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Наибольшее из значений элементов главной диагонали матрицы больше, чем наименьшее из значении элементов побочной диагонали
Дана квадратная матрица А(4,4) Выяснить верно ли, что наибольшее из значений элементов главной...

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

Верно ли, что наибольшее из значений элементов главной диагонали матрицы больше, чем наименьшее из значении элементов побочной диагонали
Дана квадратная матрица А(4,4) Выяснить верно ли, что наибольшее из значений элементов главной...

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

Матрица. Найти сумму тех элементов, которые расположены на главной диагонали матрицы
Дана вещественная квадратная матрица. Рассмотреть лементы, расположенные в строках,...

Найти сумму элементов матрицы, которые размещены в столбцах с отрицательным элементом на главной диагонали
Дана квадратная матрица A порядка k. Найти сумму элементов матрицы, которые размещены в столбцах с...


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

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

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