Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/40: Рейтинг темы: голосов - 40, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 01.04.2015
Сообщений: 37

Ввести целочисленный массив. Поменять местами максимальный и минимальный элементы массива

14.02.2016, 19:31. Показов 8228. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Задание: Ввести целочисленный массив состоящий из 9 элементов. Максимальный и минимальный элементы поменять местами. Ну и вывести получившийся массив. Нужно сделать через C# Windows Forms.

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

Помогите пожалуйста доделать программу. Через какой компонент вывести массив, и как поменять местами максимальный и минимальный элементы массива?

На 1 рисунке в красную область нужно добавить какой-то компонент что бы в него вывести массив. Что бы было как на рисунке 2. На рисунке 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
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string[] b = richTextBox1.Lines;
                int n = b.Length;
                int[] a = new int[n];
                int i,min,max,imin,imax;
                for (i = 0; i < n; i++)
                {
                    a[i] = Convert.ToInt32(b[i]);
                }
                min=max=a[0];
                imin=imax=0;
                for (i = 0; i < n; i++)
                {
                    if (a[i] < min)
                    {
                        min = a[i];
                        imin = i;
                    }
                    if (a[i] > max)
                    {
                        max = a[i];
                        imax = i;
                    }
                    //a[imax] = min; - таким способом пробовал менять местами элементы
                    //a[imin] = max; - таким способом пробовал менять местами элементы
                // где то тут надо вывод массива сделать, через текст бох рич текст бокс без разницы.
                }
                textBox1.Text=("max="+Convert.ToString(max)+"; min="+Convert.ToString(min));
            }
            catch { textBox1.Text = Convert.ToString("Неверный формат"); }
        }
        private void button2_Click(object sender, EventArgs e)
        {
          //textBox1.Text = Convert.ToString("");
            richTextBox1.Text = Convert.ToString("");
            textBox1.Clear();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
    }
}
Миниатюры
Ввести целочисленный массив. Поменять местами максимальный и минимальный элементы массива   Ввести целочисленный массив. Поменять местами максимальный и минимальный элементы массива  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2016, 19:31
Ответы с готовыми решениями:

Поменять местами минимальный и максимальный элементы массива
//Дан массив размера N. Поменять местами его минимальный и максимальный элементы. using System.Collections.Generic; using...

Дан одномерный массив. Поменять местами максималтный и минимальный элемент местами. Вывести 2 массива исходный
Дан одномерный массив. Поменять местами максималтный и минимальный элемент местами. Вывести 2 массива исходный и измененный на форму...

Поменять местами максимальный и минимальный элемент
Поменять местами максимальный и минимальный элемент в одномерном массиве Я не много запутался, помогите в строке 25-27. Ибо выводит...

11
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.02.2016, 20:01
Лучший ответ Сообщение было отмечено Antoshka_Ass как решение

Решение

Antoshka_Ass, на форму кинь лейбл, текстбокс и кнопку
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int[] mas = textBox1.Text.Split().Select(i => int.Parse(i)).ToArray();
 
            int min = mas.Min();
            int IndMin = Array.IndexOf(mas, min);
            int max = mas.Max();
            int IndMax = Array.IndexOf(mas, max);
 
            mas[IndMin] = max;
            mas[IndMax] = min;
 
            label1.Text = string.Join(" ", mas.Select(i => i.ToString()).ToArray());
        }
    }
1
1 / 1 / 0
Регистрация: 01.04.2015
Сообщений: 37
14.02.2016, 21:28  [ТС]
Что то не робит
Миниатюры
Ввести целочисленный массив. Поменять местами максимальный и минимальный элементы массива  
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.02.2016, 21:36
Лучший ответ Сообщение было отмечено Antoshka_Ass как решение

Решение

Antoshka_Ass, формат ввода цифра-пробел-цифра

Добавлено через 1 минуту
и на кнопку жми когда ввел цифры в текстбокс
1
1 / 1 / 0
Регистрация: 01.04.2015
Сообщений: 37
15.02.2016, 01:16  [ТС]
Я скрин прикрепил выше что выдает, после нажатия на кнопку. Почему выскакивает такая ошибка?
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
15.02.2016, 05:55
Лучший ответ Сообщение было отмечено Antoshka_Ass как решение

Решение

Antoshka_Ass, там в ошибке все написано: строка имела неверный формат. Значит кроме цифр и пробела между ними в строке было еще что-то.
1
1 / 1 / 0
Регистрация: 01.04.2015
Сообщений: 37
15.02.2016, 08:19  [ТС]
Не работает, попробуй сам. Ввожу все правильно!
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
15.02.2016, 09:00
Antoshka_Ass, быть такого не может. Специально создал проект, скопипастил код-все работает.
1
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
15.02.2016, 09:08
В сплите пробел поставь. Может компилятор тупит
C#
1
int[] mas = textBox1.Text.Split(' ').Select(i => int.Parse(i)).ToArray();
Собственно предложенный вариант EvilFromHell у меня тоже хорошо работает
1
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
15.02.2016, 09:10
IngProj, да там и так по идее по умолчанию пробел. Но вот если пробелов будет 2 подряд-то тогда код вывалится с эксепшеном из-за пустого элемента. Против этого поможет Split(new char[] { ' ' },StringSplitOptions.RemoveEmptyEntries).
1
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
15.02.2016, 09:26
Также возможно вы в конце массива ставите пробел. Этого делать не нужно.
1
1 / 1 / 0
Регистрация: 01.04.2015
Сообщений: 37
15.02.2016, 16:52  [ТС]
Можете скинуть написанную программу уже в архиве . я сейчас пренабрал все ровно выводится ошибка(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2016, 16:52
Помогаю со студенческими работами здесь

Поменять местами максимальный и минимальный элемент. Помогите изменить код
Нужно поменять местами максимальный и минимальный элемент. Помогите изменить этот код: max = mass; max1 = mass; ...

Поменять местами максимальный и первый элемент одномерного массива
Пользователь задает n. Далее надо вывести созданный массив рандомом Поменять местами максимальный и первый элемент массива вывести...

Двумерный массив в Windows Forms: поменять местами максимальный элемент первого и последнего столбца
Помогите найти ошибку : Нужно поменять местами максимальный элемент первого и последнего столбца. namespace Laba._20_задание_2_ { ...

Не могу понять как поменять местами элементы массива
Задание:найдите наименьший элемент массива из десяти элементов и поменяйте его местами с последним элементом

Поменять местами элементы двумерного массива побочной диагонали
программа не работает и ошибку не выдает. Подскажите плз уже Запарился с этой задачей! using System; using System.Collections.Generic; ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
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