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

Переставляя строки и столбцы матрицы переместить наибольший элемент в верхний левый угол

07.09.2017, 20:34. Показов 6116. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, есть проблемы с решением задачи, требуется помощь: дана матрица размером n на t. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент (или один из них) оказался в верхнем левом углу.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2017, 20:34
Ответы с готовыми решениями:

Переставляя строки и столбцы матрицы, перенести ее минимальный элемент в левый верхний угол
Тема: Функции2. 9. Пусть дано матрицу nxm, заполненную псевдослучайными числами в заданном диапазоне. Переставляя строки и столбцы,...

Переставляя строки и столбцы матрицы, передвинуть найденный элемент в левый верхний угол
Как мне передвинуть найденный элемент в матрице в левый верхний угол, чтобы двигались строки и столбцы ?

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

3
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
07.09.2017, 21:14
См. ссылки внизу страницы
0
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
07.09.2017, 22:30
Лучший ответ Сообщение было отмечено eLo0on как решение

Решение

eLo0on,
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#define _SCL_SECURE_NO_WARNINGS
#include <iostream>     // cout cin
#include <iomanip>      // setw
#include <utility>      // pair
#include <algorithm>    // swap_ranges  swap
#include <cstdlib>      // srand    rand
#include <ctime>        // time
/// U - unsinged
const int MAX_RANDOM_VALUE = 100;
 
void PrintMatrix(int **matrix, const size_t N, const size_t M)
{
    for (size_t i(0U); i < N; i++)
    {
        for (size_t j(0U); j < M; j++)
            std::cout << std::setw(2U) << matrix[i][j] << " ";
        std::cout << std::endl;
    }
    std::cout << std::endl;
}
 
int main(void)
{
    std::srand(size_t(time(NULL)));
    std::cout << "Enter the size of mattrix: ";
    size_t N(0U), M(0U);
    std::cin >> N >> M;
    std::pair<std::pair<size_t, size_t>, int>
            max_value(std::make_pair(0U, 0U), 0);
    int **matrix = new int*[N]; // Выделяем память под строки
    for (size_t i(0U); i < N; ++i)
    {
        matrix[i] = new int[M]; // Выделяем память под столбцы
        for (size_t j(0U); j < M; ++j)
        {
            matrix[i][j] = rand() % MAX_RANDOM_VALUE;   // Заполняем ячейку случайным числом
            if (matrix[i][j] > max_value.second)    /// Является ли новый элемент максимальным?
            {
                max_value.first = std::make_pair(i, j); // Сохраняем позицию 
                max_value.second = matrix[i][j];    // Сохраняем максимальный элемент
            }
        }
    }
    /// Вывод Массива
    PrintMatrix(matrix, N, M);
    /// Переставляем строки
    while (max_value.first.first > 0U)
    {
        int *beg(matrix[max_value.first.first]);
        int *end(beg + M);
        int *other(matrix[max_value.first.first - 1U]);
        std::swap_ranges(beg, end, other); // Меняем диапазоны местами
        --max_value.first.first;
    }
    /// Переставляем столбцы
    while (max_value.first.second > 0U)
    {
        for (size_t j(0U); j < N; ++j)
        {
            int *item_this(matrix[j] + max_value.first.second);
            int *item_other(matrix[j] + max_value.first.second - 1U);
            std::swap(*item_other, *item_this); // Меняем элементы местами
        }
        --max_value.first.second;
    }
    /// Вывод Массива
    PrintMatrix(matrix, N, M);
    /// Освобождение памяти
    for (size_t i(0U); i < N; delete[] matrix[i++]);
    delete[] matrix;
    
    std::cin.clear();
    while (std::cin.get() != '\n');
    std::cin.get();
}
0
0 / 0 / 0
Регистрация: 13.05.2020
Сообщений: 2
13.05.2020, 02:33
У меня точно такаяаже задача 3 дня не могу решить помогите написать на СИ пожалуйста, заранее спасибо!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2020, 02:33
Помогаю со студенческими работами здесь

Переместить наибольший элемент матрицы в верхний левый угол путем перестановок строк и столбцов
Дана вещественная матрица размером n×m. Переставляя её строки и столбцы, добиться того, чтобы наибольший элемент (или один из них) оказался...

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

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

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

Переставляя строки и столбцы матрицы, переместить max (min) элемент в левый (правый) верхний (нижний) угол
Дана квадратная матрица порядка n*n . Переставляя её строки и столбцы, добиться того, чтобы max(min) элемент оказался в левом (правом)...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Реалии
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 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru