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

Поменять местами максимальный элемент под главной диагональю с минимальным элементом над побочной диагональю

11.03.2023, 21:57. Показов 833. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Дан двумерный массив размера n*n. Поменять местами максимальный элемент среди элементов, расположенных под главной диагональю с минимальным элементом, расположенном над побочной диагональю.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.03.2023, 21:57
Ответы с готовыми решениями:

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

Определить, является ли минимальный элемент под главной диагональю матрицы минимальным под побочной диагональю
Дана квадратная матрица A(N,N). Найти минимальный элемент среди элементов, расположенных под главной диагональю матрицы. Является ли он...

Поменять местами макс элемент матрицы, стоящий над главной диагональю с макс элементом, стоящим под ней
2. Дан двумерный массив размером n x n. Поменять местами максимальный элемент, стоящий над главной диагональю с максимальным элементом,...

6
3259 / 3279 / 556
Регистрация: 17.02.2019
Сообщений: 5,192
11.03.2023, 23:49
Лучший ответ Сообщение было отмечено ziya_31 как решение

Решение

Цитата Сообщение от ziya_31 Посмотреть сообщение
Поменять местами
а если их несколько, то как все заменить или первый только? Или массив уже заполнен не повторяющими числами?
0
0 / 0 / 0
Регистрация: 09.03.2023
Сообщений: 104
12.03.2023, 00:06  [ТС]
Все числа надо поменять.
0
3259 / 3279 / 556
Регистрация: 17.02.2019
Сообщений: 5,192
12.03.2023, 00:08
Цитата Сообщение от ziya_31 Посмотреть сообщение
Все числа надо поменять.
Во всем массиве?
0
3259 / 3279 / 556
Регистрация: 17.02.2019
Сообщений: 5,192
12.03.2023, 12:21
ziya_31, ну если правильно понял пробуйте
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
using System;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int max_element = int.MinValue;
            int min_element = int.MaxValue;
            Console.Write("Размер массива n*n = ");
            int n = Convert.ToInt32(Console.ReadLine());
            int[,] dd = new int[n, n];
            Random random = new Random();
            for (int i = 0; i < dd.GetLength(0); i++)
            {
                for (int j = 0; j < dd.GetLength(1); j++)
                {
                    dd[i, j] = random.Next(1, 11);
                    if (max_element < dd[i, j]) { max_element = dd[i, j]; }
                    if (min_element > dd[i, j]) { min_element = dd[i, j]; }
                }
            }
            PrintArray("Созданный массив", dd);
            Console.WriteLine($"\nМаксимальный элемент {max_element}\nМинимальный элемент {min_element}\n");
 
            // максимальный элемент, расположенном под главной диагональю
            int limit_element_max = 1;
            for (int i = 1; i < dd.GetLength(0); i++)
            {
                for (int j = 0; j < limit_element_max; j++)
                {
                    if (dd[i, j] == max_element) { dd[i, j] = min_element; }
                }
                limit_element_max++;
            }
            // минимальный элемент, расположенном над побочной диагональю
            int limit_element_min = dd.GetLength(1) - 1;
            for (int i = 0; i < dd.GetLength(0) - 1; i++)
            {
                for (int j = 0; j < limit_element_min; j++)
                {
                    if (dd[i, j] == min_element) { dd[i, j] = max_element; }
                }
                limit_element_min--;
            }
            PrintArray("Измененный массив", dd);
            Console.ReadKey(true);
        }
 
        private static void PrintArray(string s, int[,] arr)
        {
            Console.WriteLine(s);
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                    Console.Write($"{arr[i, j],3}");
                Console.WriteLine();
            }
        }
    }
}
0
 Аватар для zhunshun
767 / 495 / 216
Регистрация: 05.04.2015
Сообщений: 2,076
13.03.2023, 09:02
January29, Неловко, но помоему тут только 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
43
44
45
46
47
48
public class Program
{
    public static void Main(string[] args)
    {
        int max_element = int.MinValue;
        int min_element = int.MaxValue;
        Console.Write("Размер массива n*n = ");
        int n = Convert.ToInt32(Console.ReadLine());
        int[,] dd = new int[n, n];
        Random random = new Random();
        for (int i = 0; i < dd.GetLength(0); i++)
        {
            for (int j = 0; j < dd.GetLength(1); j++)
            {
                dd[i, j] = random.Next(1, 11);
            }
        }
        PrintArray("Созданный массив", dd);
        Console.WriteLine();
        int[] inds = new int[4];
        for (int i = 0; i < dd.GetLength(0); i++)
        {
            for (int j = 0; j < dd.GetLength(1); j++)
            {
                if(i > j){
                    if (max_element < dd[i, j]) { max_element = dd[i, j]; inds[0] = i; inds[1] = j;}
                }//pod glavnoi
                if(i < dd.GetLength(1) - j - 1){
                    if (min_element > dd[i, j]) { min_element = dd[i, j]; inds[2] = i; inds[3] = j;}
                }//nad pobochnoi
            }
        }
        Console.WriteLine(string.Join("\t", inds));
        //прямым назначением
        (dd[inds[0],inds[1]], dd[inds[2],inds[3]]) = (dd[inds[2],inds[3]], dd[inds[0],inds[1]]);
        PrintArray("Измененный массив", dd);
    }
    private static void PrintArray(string s, int[,] arr)
    {
        Console.WriteLine(s);
        for (int i = 0; i < arr.GetLength(0); i++)
        {
            for (int j = 0; j < arr.GetLength(1); j++)
                Console.Write($"{arr[i, j],3}");
            Console.WriteLine();
        }
    }
}
1
3259 / 3279 / 556
Регистрация: 17.02.2019
Сообщений: 5,192
13.03.2023, 17:33
Цитата Сообщение от zhunshun Посмотреть сообщение
и не так ищите мин и макс.
Сначала так искал. Но потом чем больше читал задания, тем больше запутывался. И менял только два, тоже индексы писал в массив. Бывает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2023, 17:33
Помогаю со студенческими работами здесь

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

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

Вывести квадратную матрицу любого размера и поменять местами элементы массива над главной диагональю с элементами массива под главной диагональю
Вывести квадратную матрицу любого размера и поменять местами элементы массива над главной диагональю с элементами массива под главной...

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

Замена элементов над главной диагональю с элементами под побочной диагональю в двумерном массиве
Надо что бы не менялись другие элементы,а у меня это не получется , уже выбился из сил , ХЕЛП! const n=4; type arr=array of...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
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),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru