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

Определить у какой из матриц сумма элементов главной диагонали меньше

30.05.2018, 13:14. Показов 2484. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны два двумерных массива a и b размером n×n и m×m соответственно. Требуется определить, у какого из массивов след (сумма элементов главной диагонали) меньше, либо сообщить о том, что они равны.

Формат входных данных
Первая строка входного файла содержит натуральное число n (n≤100) — количество строк и столбцов массива a. Следующие n строк содержат по n целых чисел (|aij|≤1000) — элементы массива a.
Следующая строка содержит натуральное число m (m≤100) — количество строк и столбцов массива b. Последние m строк содержат по m целых чисел (|bij|≤1000) — элементы массива b.

Формат выходных данных
Выведите «less», если след первого массива меньше, «greater», если след второго массива меньше, или «equal», если следы массивов равны.

пример:
вход:
1
9
3
1 2 3
4 5 6
7 8 3
выход:
equal
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2018, 13:14
Ответы с готовыми решениями:

Определить: сумма элементов выше главной диагонали меньше суммы элементов ниже главной диагонали?
Дана квадратная матрица натуральных чисел,( получаемая через rand()) .Определить, верно ли утверждение: сумма эллементов выше главной...

Определить является ли сумма элементов диагонали меньше 100
Статическая память. Двумерный массив. Массив квадратный. Определить является ли сумма элементов диагонали меньше 100. Добавлено через...

Из элементов главной диагонали матриц А и В сформировать векторы Х и Т, соответственно
Из элементов главной диагонали матриц А и В сформировать векторы Х и Т, соответственно.

2
 Аватар для igorrr37
2887 / 2034 / 992
Регистрация: 21.12.2010
Сообщений: 3,787
Записей в блоге: 9
31.05.2018, 11:40
Лучший ответ Сообщение было отмечено Kalighost как решение

Решение

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
54
55
56
57
58
#include <iostream>
#include <future>
#include <string>
#include <fstream>
#include <limits>
#include <exception>
 
 
int Sum(std::string const& fpath, int const rec)
{
    int row = 0, num = 0, sum = 0;
 
    std::ifstream ifs{ fpath };
    if (!ifs.is_open())
    {
        throw std::runtime_error("Unable to open file for rec: " + std::to_string(rec));
    }
    if (rec == 2)
    {
        ifs >> row;
        for (int i = 0; i < row + 1; ++i)
        {
            ifs.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
        }
    }
 
    ifs >> row;
    for (int i = 0; i < row; ++i)
    {
        for (int j = 0; j < row; ++j)
        {
            ifs >> num;
            if (i == j)
            {
                sum += num;
            }
        }
    }
    ifs.close();
        
    return sum;
}
 
int main()
{
    try
    {
        std::string fpath{ "in.txt" };
        auto sf1 = std::async(std::launch::async, Sum, std::ref(fpath), 1).share();
        auto sf2 = std::async(std::launch::async, Sum, std::ref(fpath), 2).share();
        std::cout << (sf1.get() < sf2.get() ? "less" : sf1.get() > sf2.get() ? "greater" : "equal") << std::endl;
    }
    catch (std::exception const& exc)
    {
        std::cerr << "Exception: " << exc.what() << std::endl;
    }
 
}
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
31.05.2018, 11:59
Берем образец
Образцы (шаблоны) программ для типовых задач
Заменяем функцию
C++
1
2
3
4
5
6
7
8
9
10
//
// пример обработки матрицы - сумма элементов главной диагонали
//
int Process( int ** M, size_t n, size_t m ) {
    int Sum=0;
    for ( size_t i = 0; i < n && i<m; ++i ) {
              Sum += M[i][i];
    }
    return Sum;
}
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
int main()
{
    //setlocale( LC_ALL, "Rus" ); // установление русской локали (windows)
 
    size_t n, m;
 
    // вводим размерность матрицы
    std::cout << "Введите количество строк матрицы: ";
    std::cin >> n;
    std::cout << "Введите количество столбцов матрицы: ";
    std::cin >> m;
 
    // выделяем память под матрицу
    int ** A = Create( n, m );
     // ввод матрицы
    //Input( A, n, m );
    // заполнение случайными числами (вместо ввода)
    FillRandomNumbers(A,n,m);
    // Вывод матрицы
    Print(A,n,m);
 
    // выделяем память под матрицу
    int ** B = Create( n, m );
     // ввод матрицы
    //Input( B, n, m );
    // заполнение случайными числами (вместо ввода)
    FillRandomNumbers(B,n,m);
    // Вывод матрицы
    Print(B,n,m);
    // обработка матриц
    int S1 =  Process( A, n, m );
    int S2 =  Process( B, n, m );
 
    // вывод результата
    if(S1<S2) 
        std::cout<< "След первой матрицы "<<S1 <<" меньше следа второй матрицы "<<S2;
    else if(S2<S1)
        std::cout<< "След второй матрицы "<<S2 <<" меньше следа первой матрицы "<<S1;
    else
        std::cout<< "След второй матрицы "<<S2 <<" равен следу первой матрицы "<<S1;
    std::cout<<std::endl;
 
     // освобождаем память, выделенную под матрицы
    Free( A, n );
    Free( B, n );
 
    // ждём нажатия клавиши перед выходом из приложения (windows)
    //system( "pause" );
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2018, 11:59
Помогаю со студенческими работами здесь

Сумма элементов главной диагонали
Матрица 3 на 3, сосчитать сумму элементов главной диагонали

Сколько элементов двумерного массива меньше любого элемента на главной диагонали
Определить сколько элементов двумерного массива меньше любого элемента на главной диагонали. Добавлено через 1 минуту Решите...

Сумма элементов главной диагонали матрицы
Такая проблема... Можете помочь с кодом. Как сделать что-бы считало элементы главной диагонали квадратной матрицы? ...

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

Сумма элементов главной диагонали массива
В квадратном массиве записаны целые числа. Определить сумму элементов главной диагонали массива, которые больше 20. Добавлено через 17...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru