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

В матрице найти наибольший элемент и поменять местами с диагональным

11.02.2014, 16:00. Показов 1958. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В каждой строке матрицы A(n,n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.02.2014, 16:00
Ответы с готовыми решениями:

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

Найти наибольший элемент в каждой строке матрицы, после чего поменять его местами с диагональным
Во входном файле in.txt задана квадратная матрица из целых чисел, например: 1 7 4 3 6 3 2 0 2 0 8 7 4 5 7 6

В каждой строке матрицы A (n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом.
В каждой строке матрицы A (n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом. Нужна прога

10
Заблокирован
11.02.2014, 16:55
Что не получается?
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 8
11.02.2014, 18:29  [ТС]
Хотелось бы увидеть правильный код этой задачи.Так как хочу понять общий принцип.
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
11.02.2014, 19:06
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Лови!

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
class Program
    {
 
 
        static void Main(string[] args)
        {
            Console.Write("Enter matrix size : ");
            string sizeString = Console.ReadLine();           
 
            int size;
            if (!int.TryParse(sizeString, out size))
            {                 
                return;
            }
 
            int[,] matrix = CreateMatrix(size);
            PrintMatrix(matrix, size);
 
            int[,] matrixResult = DoTask(matrix, size);
            PrintMatrix(matrixResult, size);
            
            Console.ReadLine();
        }
 
        static int[,] CreateMatrix(int size)
        {
            int[,] matrix = new int[size, size];
 
            Random generator = new Random();
 
            for (int i = 0; i < size; i++)
            {
                for (int j = 0; j < size; j++)
                {
                    matrix[i, j] = generator.Next(10, 99);
                }                 
            }
 
            return matrix;
        }
 
        static int[,] DoTask(int[,] matrix, int size)
        {
            for (int i = 0; i < size; i++)
            {
                int maxValue = matrix[i, 0];
                int index = 0;
 
                for (int j = 1; j < size; j++)
                {
                    if (matrix[i, j] > maxValue)
                    {
                        maxValue = matrix[i, j];
                        index = j;
                    }
                }
 
                int buffer = matrix[i, index];
                matrix[i, index] = matrix[i, i];
                matrix[i, i] = buffer;
            }
 
            return matrix;
        }
 
        static void PrintMatrix(int[,] matrix, int size)
        {
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
 
            for (int i = 0; i < size; i++)
            {
                for (int j = 0; j < size; j++)
                {
                    Console.Write(matrix[i, j] + "  ");
                }
                Console.WriteLine();
            }
        }
    }
1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 8
26.02.2014, 18:45  [ТС]
может я не правильно понимаю,но в этом коде элемент меняется с соседним элеменгтом,а как сделать чтобы они менялись с соответствующим диагональным элементом?
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
26.02.2014, 19:06
Цитата Сообщение от Evgeniylight Посмотреть сообщение
а как сделать чтобы они менялись с соответствующим диагональным элементом?
уже сделано:
Цитата Сообщение от some_name Посмотреть сообщение
C#
1
2
3
int buffer = matrix[i, index];
 matrix[i, index] = matrix[i, i]; 
matrix[i, i] = buffer;
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 8
26.02.2014, 19:10  [ТС]
Цитата Сообщение от some_name Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
static int[,] DoTask(int[,] matrix, int size)
{
    for (int i = 0; i < size; i++)
    {
        int maxValue = matrix[i, 0];
        int index = 0;
        
        for (int j = 1; j < size; j++)
        {
            if (matrix[i, j] > maxValue)
            {
                maxValue = matrix[i, j];
                index = j;
            }
        }
        
        int buffer = matrix[i, index];
        matrix[i, index] = matrix[i, i];
        matrix[i, i] = buffer;
    }
    
    return matrix;
}
Я так понимаю,вот этот кусок,как раз и отвечает за поиск и замену элемента?
0
Заблокирован
26.02.2014, 19:12
Evgeniylight, почему вы решили, что с соседним?
Code
1
2
3
4
5
6
7
8
9
10
11
Enter matrix size : 4
 
58  55  24  71
98  89  79  27
32  63  11  90
48  54  12  16
 
71  55  24  58
89  98  79  27
32  63  90  11
48  16  12  54
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
26.02.2014, 19:27
Цитата Сообщение от Evgeniylight Посмотреть сообщение
Я так понимаю,вот этот кусок,как раз и отвечает за поиск и замену элемента?
да.
1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 8
26.02.2014, 22:07  [ТС]
Если вас не затруднит,то вы не могли бы добавить пояснения, к решению данной задачи, а то я что то немного запутался от куда что берется...

Добавлено через 2 часа 11 минут
Всем огромное спасибо,вроде бы разобрался в итоге еще вот такой код получился
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;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Zadanie_3
    {
        static void Main()
        {
            int[,] mas = new int[5, 5];
            Random rand = new Random();
 
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                {
                    mas[i, j] = rand.Next(10, 100);
                    Console.Write(mas[i, j] + " ");
                }
                Console.WriteLine();
            }
 
 
            Console.WriteLine();
 
 
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                int maxValue = mas[i, 0];
                int index = 0;
 
                for (int j = 1; j < mas.GetLength(1); j++)
                {
                    if (mas[i, j] > maxValue)
                    {
                        maxValue = mas[i, j];
                        index = j;
                    }
                }
 
                int buffer = mas[i, index];
                mas[i, index] = mas[i, i];
                mas[i, i] = buffer;
            }
 
            Console.WriteLine();
 
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                {
                    Console.Write(mas[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            Console.ReadKey();
        }
    }
}
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
26.02.2014, 22:44
Цитата Сообщение от Evgeniylight Посмотреть сообщение
mas.GetLength(1);
а это вам зачем?

объявите лучше константу.

такой подход не оптмальный, на каждой итерации вычисляется размер - это ни есть гуд
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2014, 22:44
Помогаю со студенческими работами здесь

В каждой строке матрицы A[n][n] найти наибольший элемент и поменять его местами с соответствующим диагональным элементом
Help, нужно срочно прям

Наибольший элемент и поменять местами с диагональным в делфи
Мне только надо такое задание: Найти наибольший элемент и поменять местами с диагональным во втором табличке. procedure...

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

В матрице найти наибольший элемент заданных диагоналей и поменять его местами с указанным элементом
Доброго времени суток,друзья!Нужна помощь с написанием программы. Дана действительная квадратная матрица порядка N (N – нечетное), все...

Поменять местами первую и последнюю строки матрицы, в полученной матрице найти наибольший элемент
Дана матрица А(5,3). Поменять местами первую и последнюю строки матрицы, в полученной матрице найти наибольший элемент


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru