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

Найти максимальный по модулю элемент матрицы

25.11.2017, 11:47. Показов 2744. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задана матрица размером NxK. Найти максимальный по модулю элемент матрицы.
Переставить строки и столбцы матрицы таким образом, чтобы максимальный по
модулю элемент был расположен на пересечении к-й строки и к-того столбца.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2017, 11:47
Ответы с готовыми решениями:

Найти максимальный по модулю элемент массива
Ребята, помогите, пожалуйста, с этой задачей))

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

Найти максимальный по модулю элемент массива
В однородном массиве, состоящем из N вещественных элементов, найти максимальный по модулю элемент массива.

8
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
27.11.2017, 07:55
Поиском пользовались ?
Найти максимальный по модулю элемент массива
Найти максимальный по модулю элемент массива
0
1 / 1 / 0
Регистрация: 02.11.2017
Сообщений: 43
27.11.2017, 21:21  [ТС]
Почтальон, пользовался. Задания отличаются.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
28.11.2017, 07:48
В чем конкретно у вас ступор ? понять из приведенных ссылок алгоритм и подстроить под свою задачу ?
0
1 / 1 / 0
Регистрация: 02.11.2017
Сообщений: 43
28.11.2017, 14:49  [ТС]
Почтальон, "Переставить строки и столбцы матрицы таким образом, чтобы максимальный по
модулю элемент был расположен на пересечении к-й строки и к-того столбца."
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
28.11.2017, 15:02
Можно пойти следующим образом. Найти позицию максимального элемента в каждой строке, занести в отдельный массив (получится массив позиций), далее переставить троки и колонки в соответствии с индексами этого массива. Как-то так. ИМХО
0
1 / 1 / 0
Регистрация: 02.11.2017
Сообщений: 43
29.11.2017, 20:13  [ТС]
Почтальон, спасибо, не подскажите, как это можно расписать примерно?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
29.11.2017, 21:06
Цитата Сообщение от Nikodim_Ivanov Посмотреть сообщение
подскажите, как это можно расписать примерно?
Проще всего нарисовать блок-схему, тогда реализация в коде будет наиболее быстрой
0
 Аватар для worldown
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
03.12.2017, 23:12
Лучший ответ Сообщение было отмечено Nikodim_Ivanov как решение

Решение

Nikodim_Ivanov,
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
using System;
 
namespace Csh_console_tasks {
 
 
    class MoveMatrix {
 
        static void GenMatrix(int[,] maxtrix) {
            Random rnd = new Random();
            for (int y = 0; y < maxtrix.GetLength(0); y++) {
                for (int x = 0; x < maxtrix.GetLength(1); x++) {
                    maxtrix[y, x] = rnd.Next(-99, 99);
                }
            }
        }
 
        static int[] GetIndexMaxElement(int[,] maxtrix) {
            int max = Math.Abs(maxtrix[0, 0]);
            int[] index = new int[2];
            for (int y = 0; y < maxtrix.GetLength(0); y++) {
                for (int x = 0; x < maxtrix.GetLength(1); x++) {
                    if (Math.Abs(max) < Math.Abs(maxtrix[y, x])) {
                        max = maxtrix[y, x];
                        index[0] = y;
                        index[1] = x;
                    }
                }
            }
 
            return index;
 
        }
 
        static void PrintMatrix(int[,] maxtrix, int[] max = null) {
 
            for (int y = 0; y < maxtrix.GetLength(0); y++) {
                for (int x = 0; x < maxtrix.GetLength(1); x++) {
 
                    if (Math.Abs(maxtrix[y, x]) < 10) {
                        if (maxtrix[y, x] < 0) {
                            if(max != null && max[0] == y && max[1] == x)
                            Console.Write("{" + maxtrix[y, x] + " }");
                            else
                            Console.Write("[" + maxtrix[y, x] + " ]");
 
                        } else {
                            if (max != null && max[0] == y && max[1] == x)
                                Console.Write("{ " + maxtrix[y, x] + " }");
                            else
                                Console.Write("[ " + maxtrix[y, x] + " ]");
                        }
                    } else {
                        if (maxtrix[y, x] < 0) {
                            if (max != null && max[0] == y && max[1] == x)
                                Console.Write("{" + maxtrix[y, x] + "}");
                            else
                                Console.Write("[" + maxtrix[y, x] + "]");
                        } else {
                            if (max != null && max[0] == y && max[1] == x)
                                Console.Write("{ " + maxtrix[y, x] + "}");
                            else
                                Console.Write("[ " + maxtrix[y, x] + "]");
                        }
                    }
                }
                Console.WriteLine();
            }
        }
 
        static void MoveRow(int[,] maxtrix, int rowFrom, int rowTo) { //Y
 
            for (int x = 0; x < maxtrix.GetLength(1); x++) {
                int tmp = maxtrix[rowFrom, x];
                maxtrix[rowFrom, x] = maxtrix[rowTo, x];
                maxtrix[rowTo, x] = tmp;
            }
 
        }
 
        static void MoveCol(int[,] maxtrix, int colFrom, int colTo) { //x
 
            for (int y = 0; y < maxtrix.GetLength(0); y++) {
                int tmp = maxtrix[y, colFrom];
                maxtrix[y, colFrom] = maxtrix[y, colTo];
                maxtrix[y, colTo] = tmp;
            }
 
        }
 
        static void Main(string[] args) {
            int x, y;
            int kx, ky;
            int[,] matrix;
            int[] IndexMaxElement;
            Console.WriteLine("Enter size matrix");
            Console.Write("X: ");
            x = Convert.ToInt32(Console.ReadLine());
            Console.Write("Y: ");
            y = Convert.ToInt32(Console.ReadLine());
            matrix = new int[y, x];
            GenMatrix(matrix);
            Console.WriteLine("Print maxtrix: ");
            IndexMaxElement = GetIndexMaxElement(matrix);
            PrintMatrix(matrix, IndexMaxElement);
            Console.WriteLine("Max element = {0}", matrix[IndexMaxElement[0], IndexMaxElement[1]]);
            Console.WriteLine("Move max element to new position on matrix: ");
            Console.Write("kY [1,{0}]: ",y);
            ky = Convert.ToInt32(Console.ReadLine()) - 1;
            MoveRow(matrix, IndexMaxElement[0], ky);
            IndexMaxElement[0] = ky;
            PrintMatrix(matrix, IndexMaxElement);
            Console.WriteLine();
            Console.Write("kX [1,{0}]: ", x);
            kx = Convert.ToInt32(Console.ReadLine()) - 1;
            MoveCol(matrix, IndexMaxElement[1], kx);
            Console.WriteLine();
            IndexMaxElement[0] = ky;
            IndexMaxElement[1] = kx;
            PrintMatrix(matrix,IndexMaxElement);
            Console.ReadKey();
        }
    }
}

Сначала перемещаем Ряд (в котором находится макс элемент) на заданную позицию, потом Колонку (в котором находится этот же макс элемент) на заданную позицию
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2017, 23:12
Помогаю со студенческими работами здесь

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

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

Найти минимальный элемент в К-ом столбце и максимальный элемент в L-ом сторбце матрицы
Дана матрица А(n,n). Найти минимальный элемент в К-ом столбце и максимальный элемент в L-ом сторбце матрицы. Использовать статический...

Сформировать из матрицы A матрицы по правилу; найти максимальный по модулю элемент первой строки матрицы
В целочисленной матрице А(3,4) найти m-количество положительных элементов, стоящих в четных столбах.Сформировать матрицу В(3,4) по правилу:...

Найти максимальный по модулю элемент матрицы
ни разу не работал с матрицами и никак не могу понять... Задача: Задана матрица размером nm. Найти максимальный по модулю...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru