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

В матрице нужно найти квадрат 2x2 с максимальной суммой элементов и вывести эту сумму

15.07.2014, 14:59. Показов 1588. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
У меня следующий вопрос. Дана матрица NxM в этой матрице нужно найти квадрат 2x2 с максимальной суммой элементов и вывести эту сумму. Заранее всем огромное спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2014, 14:59
Ответы с готовыми решениями:

Функция: найти массив с максимальной суммой элементов и вывести эту сумму
Дано k массивов типа float. Организовать функцию, находящую массив с максимальной суммой элементов...

Найти пару с максимальной суммой и вывести эту максимальную сумму
На вход в первой строке подается целое четное положительное число N, а во второй строке — массив...

В матрице найти номер строки с максимальной суммой элементов и номер столбца с минимальной суммой элементов
Вывести на консоль номер строки с максимальной суммой элементов и номер столбца с минимальной...

В матрице найти столбец с максимальной суммой элементов
найти столбец с максимальной суммой элементов

2
Эксперт по математике/физикеЭксперт С++
2048 / 1366 / 395
Регистрация: 16.05.2013
Сообщений: 3,507
Записей в блоге: 6
15.07.2014, 15:32 2
Лучший ответ Сообщение было отмечено qqshcka как решение

Решение

Конечно не самый изящный вариант...
Кликните здесь для просмотра всего текста
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
#include <ctime>
#include <iostream>
#include <algorithm>
#include <iomanip>
 
int main()
{
    constexpr int N = 5;
    int arr[N][N];
    srand(time(NULL));
    for(int i = 0; i < N; ++i) {
        for(int j = 0; j < N; ++j) {
            arr[i][j] = rand() % 11;
            std::cout << std::setw(3) << arr[i][j] << ' ';
        }
        std::cout << std::endl;
    }
 
    constexpr int M = (N - 1) * (N - 1);
    int temp[M];
 
     for(int i = 0; i < M; ++i)
        temp[i] = arr[i / (N - 1)][i % (N - 1)] +
                  arr[i / (N - 1) + 1][i % (N - 1)] +
                  arr[i / (N - 1)][i % (N - 1) + 1] +
                  arr[i / (N - 1) + 1][i % (N - 1) + 1];
     std::cout << "temp: ";
     for(int i = 0; i < M; ++i)
        std::cout << temp[i] << ' ';
 
    int* pt = std::max_element(temp, temp + M);
    std::cout << std::endl;
    std::cout << "temp[" <<pt - temp << "] = " << *pt << std::endl;
    std::cout << "i = " << (pt - temp) / (N - 1) << " j = " << (pt - temp) % (N - 1);
    return 0;
}
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
15.07.2014, 15:42 3
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
#include <ctime>
#include <iostream>
#include <algorithm>
#include <iomanip>
 
int main()
{
    const int N = 5;
    int arr[N][N];
    srand(time(NULL));
    for(int i = 0; i < N; ++i) {
        for(int j = 0; j < N; ++j) {
            arr[i][j] = rand() % 11;
            std::cout << std::setw(3) << arr[i][j] << ' ';
        }
        std::cout << std::endl;
    }
    int max = 0, sum, iindex, jindex;
    for(int i = 0; i < N - 1; ++i) {
        for(int j = 0; j < N - 1; ++j)
        {
            sum = 0;
            sum += arr[i][j] + arr[i+1][j] + arr[i][j+1] + arr[i+1][j+1];
            if(sum > max)
            {
                max = sum;
                iindex = i;
                jindex = j;
 
            }
        }
    }
    std::cout << "\nKvadrat 2x2: " << arr[iindex][jindex] << "   " << arr[iindex][jindex + 1]
    << std::endl << std::setw(14)<<   arr[iindex+ 1][jindex] << "   " << arr[iindex + 1][jindex + 1];
    std::cout << "\n Summa= " << max;
}
0
15.07.2014, 15:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2014, 15:42
Помогаю со студенческими работами здесь

В матрице найти столбец с максимальной суммой элементов
Здравствуйтей. 1.Дана символьная строка, заменить все символы 'какой-то символ' на 'другой...

В матрице X найти строку с минимальной и столбец с максимальной суммой элементов
Спасайте!Не могу решить(( Дана матрица X размерности nXm.В матрице X найти строку с минимальной и...

В матрице найти первую по порядку строку с максимальной суммой модулей её элементов
б) В матрице А найти первую по порядку строку с максимальной суммой модулей её элементов. Вектор х...

В матрице найти строки с максимальной и минимальной суммой положительных элементов. Как упростить?
P1 := Low(Integer); // Левая граница значений Integer равная -2147483648 P2 := High(Integer); ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru