Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 14.12.2017
Сообщений: 17
1

Поменять местами строку, содержащую элемент с наибольшим значением, со строкой содержащей элемент с наименьшим значением

20.12.2017, 18:51. Показов 4187. Ответов 12
Метки нет (Все метки)

Доброго времени суток!
Помогите решить задание на с# (тема двумерные массивы):
В данной двумерной матрице поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственны.
Нужно на уровне начинающего
Заранее спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2017, 18:51
Ответы с готовыми решениями:

В матрице поменять местами строки, содержащие элемент с наибольшим значением и с наименьшим значением
Здравствуйте Нужна помощь с задачей( код с#): В данной двумерной матрице поменять местами строку,...

В матрице поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением
В данной действительной матрице размера 3*3 поменять местами строку, содержащую элемент с...

В матрице поменять местами строку, содержащую элемент с наибольшим значением со строкой, содержащей элемент с наименьшим значением
Вот условие: В матрице размером NxM поменять местами строку, содержащую элемент с наибольшим...

Поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением
В данной действительной матрице размера 6х9 поменять местами строку, содержащую элемент с...

12
Эксперт .NET
9308 / 6674 / 1077
Регистрация: 21.01.2016
Сообщений: 25,096
20.12.2017, 18:58 2
dimavasenko, и в чём сложность?
0
0 / 0 / 0
Регистрация: 14.12.2017
Сообщений: 17
20.12.2017, 19:00  [ТС] 3
Цитата Сообщение от Usaga Посмотреть сообщение
в чём сложность?
в том, что я вообще не знаю с#, а работу в универ нужно отнести
0
Эксперт .NET
9308 / 6674 / 1077
Регистрация: 21.01.2016
Сообщений: 25,096
20.12.2017, 19:02 4
dimavasenko, ну так начинайте изучать C#. Или вы и дипломную работут тут просить будете?
0
0 / 0 / 0
Регистрация: 14.12.2017
Сообщений: 17
20.12.2017, 19:03  [ТС] 5
Цитата Сообщение от Usaga Посмотреть сообщение
Или вы и дипломную работут тут просить будете?
к ней дело не дойдет, нужно это закрыть и все
+я заочник и оно мне не очень то и нужно
0
Эксперт .NET
9308 / 6674 / 1077
Регистрация: 21.01.2016
Сообщений: 25,096
20.12.2017, 19:04 6
dimavasenko, нафига вам, тогда, учиться на эту специальность, если вам заранее уже не нужно?
0
0 / 0 / 0
Регистрация: 14.12.2017
Сообщений: 17
20.12.2017, 19:07  [ТС] 7
Цитата Сообщение от Usaga Посмотреть сообщение
если вам заранее уже не нужно?
я ж не прошу у вас советов о жизни, не так ли?
потому что нужно было поступить, а потом переведусь на другую специальность.
0
Эксперт .NET
9308 / 6674 / 1077
Регистрация: 21.01.2016
Сообщений: 25,096
20.12.2017, 19:10 8
dimavasenko, ну ок. Ожидайте ответа)
0
150 / 147 / 103
Регистрация: 30.10.2016
Сообщений: 312
20.12.2017, 20:23 9
Лучший ответ Сообщение было отмечено dimavasenko как решение

Решение

dimavasenko, выпьете за моё здоровье, когда будете отмечать сдачу сессии

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
using System;
 
namespace Draft
{
    class Program
    {
        static void Main()
        {
            int[,] array = Matrix.CreateMatrix();     // Инициализация массива
 
            Console.WriteLine("\nЗаданный массив:");
            Matrix.Print(array);                      // Вывод созданного массива на консоль
 
            Matrix.ProductMax(array);                 // Вывод максимального элемента массива
            Matrix.ProductMin(array);                 // Вывод минимального элемента массива
 
            Matrix.Change(array);                     // Смена мест строк с максимальным и минимальным элементами массива
 
            Console.WriteLine("\nИзмененный массив:");
            Matrix.Print(array);                      // Вывод измененного массива на консоль
 
            Console.ReadKey();
        }
    }
}
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
using System;
 
namespace Draft
{
    static class Matrix
    {
        static int i, j;                   // Счетчики циклов
        static int lineMax, lineMin;       // Строки с максимальным и минимальным элементами массива
 
        // Метод для создания массива
        public static int[,] CreateMatrix()
        {
            Console.Write("Введите количество строк матрицы: ");
            int amtLines = int.Parse(Console.ReadLine());
            Console.Write("Введите количество столбцов матрицы: ");
            int amtColumns = int.Parse(Console.ReadLine());
 
            int[,] array = new int[amtLines, amtColumns];
 
            for (i = 0; i < array.GetLength(0); i++)
            {
                for (j = 0; j < array.GetLength(1); j++)
                {
                    Console.Write("a[{0}][{1}] = ", i, j);
                    array[i, j] = int.Parse(Console.ReadLine());
                }
            }
            return array;
        }
 
        // Метод для вывода массива на экран
        public static void Print(int[,] array)
        {
            for (i = 0; i < array.GetLength(0); i++)
            {
                for (j = 0; j < array.GetLength(1); j++)
                {
                    Console.Write("{0} ", array[i, j]);
                }
                Console.WriteLine();
            }
        }
 
        // Поиск наибольшего значения
        public static void ProductMax(int[,] array)
        {
            int max = array[0, 0];
            lineMax = 0;
            for (i = 0; i < array.GetLength(0); i++)
            {
                for (j = 0; j < array.GetLength(1); j++)
                {
                    if (array[i, j] > max)
                    {
                        max = array[i, j];
                        lineMax = i;
                    }
                }
            }
            Console.WriteLine("\nНаибольшее значение равно \"{0}\" в \"{1}\" строке", max, lineMax + 1);
        }
 
        // Поиск наименьшего значения
        public static void ProductMin(int[,] array)
        {
            int min = array[0, 0];
            lineMin = 0;
            for (i = 0; i < array.GetLength(0); i++)
            {
                for (j = 0; j < array.GetLength(1); j++)
                {
                    if (array[i, j] < min)
                    {
                        min = array[i, j];
                        lineMin = i;
                    }
                }
            }
            Console.WriteLine("Наименьшее значение равно \"{0}\" в \"{1}\" строке", min, lineMin + 1);
        }
 
        // Меняем местами строки с наибольшим и наименьшим значениями
        public static void Change(int[,] array)
        {
            for (i = 0; i < array.GetLength(0); i++)
                if (lineMin == lineMax)
                {
                    Console.WriteLine("Максимальный и минимальный элементы находятся в одной строке!" +
                        "\nИзмененный массив будет такой же, как и заданный.");
                    break;
                }
                else
                {
                    int tmp = array[lineMin, i];
                    array[lineMin, i] = array[lineMax, i];
                    array[lineMax, i] = tmp;
                }
        }
    }
}
1
0 / 0 / 0
Регистрация: 14.12.2017
Сообщений: 17
20.12.2017, 20:59  [ТС] 10
Цитата Сообщение от willow300 Посмотреть сообщение
выпьете за моё здоровье
хорошо
еще вопрос. как избавиться от этих ошибок?
Элемент "Matrix" не существует в текущем контексте. (1 код)
Программа не содержит статического метода "Main", подходящего для точки входа ConsoleApplication5 (2 код)
0
Usaga
20.12.2017, 21:01
  #11

Не по теме:

willow300, выложите человеку архив проекта (без бинарников), он вообще не разбирается.

0
150 / 147 / 103
Регистрация: 30.10.2016
Сообщений: 312
20.12.2017, 21:16 12
Лучший ответ Сообщение было отмечено dimavasenko как решение

Решение

dimavasenko,
1) Когда Вы создали проект, у Вас в проекте среди прочих есть файл (класс) с названием Program.cs. Удаляете из него всё содержимое и вставляете тот код, который короткий (25 строк).
2) Далее необходимо в проект добавить еще один файл (класс Matrix). Для этого необходимо нажать правой клавишей мышки по названию проекта, в выпадающем меню выбрать Добавить -> Класс... в открывшемся меню в поле имя ввести Matrix.cs.
3) Удалить из вновь созданного файла Matrix.cs всё содержимое и вставить в него код, который длинный (100 строк).
После чего проверяйте.
Файлы на всякий случай прикреплены во вложении.

По большому счету всё можно было бы написать в одном файле (этот код в одном файле работать не будет!), но это не совсем правильно и принципиальный преподаватель, скорее всего, в таком случае занизит оценку.
Вложения
Тип файла: rar Draft.rar (2.7 Кб, 32 просмотров)
1
0 / 0 / 0
Регистрация: 14.12.2017
Сообщений: 17
20.12.2017, 21:18  [ТС] 13
willow300, Спасибо большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2017, 21:18

Поменять местами строку, содержащую элемент с наибольшим значением со строкой содержащей элемент с наименьшим значением
Дан двумерный массив размерностью МхN . заполненный случайным образом . поменять местами строку...

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

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

Поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значение
Добрый день, помогите пожалуйста переделать программу #include &lt;iostream&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.