Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.03.2015
Сообщений: 21

В произвольном одномерном массиве поменять местами максимальный и минимальный элементы

28.03.2015, 17:51. Показов 3321. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В произвольном одномерном массиве поменять местами максимальный и минимальный элементы.
Код в Windows Form
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2015, 17:51
Ответы с готовыми решениями:

В одномерном массиве максимальный и минимальный элементы поменять местами
Здравствуйте помогите решить задачу "В одномерном массиве максимальный и минимальный элементы поменять местами"

В одномерном массиве поменять местами максимальный и минимальный элементы
Здраствуйте, помогите мне пожалуйста, нужно решить 3 задачки. 1) В одномерном массиве поменять местами максимальный и минимальный...

Массив. В одномерном массиве поменять местами максимальный и минимальный элементы
В одномерном массиве поменять местами максимальный (MAX) и минимальный (MIN) элементы. Вывести на печать исходный и полученный...

19
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
28.03.2015, 17:53
Цитата Сообщение от SannyTwo Посмотреть сообщение
Код в Windows Form
Наброски в студию! Что не получается?
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
28.03.2015, 17:54
SannyTwo, Покажи свои наработки, поможем. За тебя делать не хочется
0
0 / 0 / 0
Регистрация: 23.03.2015
Сообщений: 21
28.03.2015, 18:18  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
max:=1;
min:=1;
for i:= 2 to n do
    begin
    if a[i]>a[max] then max:=i
    else
    if a[i]<a[min] then min:=i;
    end;
c:=a[max];
a[max]:=a[min];
a[min]:=c;
Добавлено через 7 минут

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub
Const N = 20 
Dim a(N) As Double, t As Double, i As Integer, imax As Integer, imin As Integer 
Sheets.Select 
Randomize Timer 
For i = 1 To N 
a(i) = Int((9900 * Rnd + 100) * 100) / 100
Cells(i, 3) = a(i) 
Next i 
imax = 1: imin = 1 
For i = 2 To N 
If a(i) > a(imax) Then imax = i 
 If a(i) < a(imin) Then imin = i 
Next i 
t = a(imax): a(imax) = a(imin): a(imin) = t 
For i = 1 To NCells(i, 4) = a(i) 
Next i 
MsgBox ("Совершен обмен в строках " + Str(imin) + " и " + Str(imax)) 
End Sub
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
29.03.2015, 20:38
Лучший ответ Сообщение было отмечено SannyTwo как решение

Решение

Ловите функциональщину в этом ITT‐треде.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim r As New Random()
Dim n As Integer = 10
' Массив случайных чисел
Dim a() As Integer = (Enumerable.Range(1, n).Select(Function(item) r.Next(10))).ToArray()
MsgBox(String.Join(vbCrlF, a.Select(Function(x) x.ToString).ToArray()))
 
' минимум и максимум
Dim f = a.Select(Function(item, index) New With{item, index})
Dim iMin As Integer = (From x In f Where x.item = f.Min(Function(item) item.item) Select x.index).ToArray()(0)
Dim iMax = (From x In f Where x.item = f.Max(Function(item) item.item) Select x.index).ToArray()(0)
Dim t As Integer = a(iMin)
a(iMin) = a(iMax)
a(iMax) = t
MsgBox(String.Join(vbCrlF, a.Select(Function(x) x.ToString).ToArray()))
3
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
29.03.2015, 21:56
Если сложно здесь разобраться, вот код попроще:
VB.NET
1
2
3
4
5
6
7
Dim arr() As Double = {1.9, 2, 8, 4, 5.7, 6, 7.2, 1.6}
        Dim indMin As Integer = Array.IndexOf(arr, arr.Min)
        Dim indMax As Integer = Array.IndexOf(arr, arr.Max)
 
        Dim tmp As Double = arr(indMax)
        arr(indMax) = arr(indMin)
        arr(indMin) = tmp
2
0 / 0 / 0
Регистрация: 23.03.2015
Сообщений: 21
01.04.2015, 16:08  [ТС]
Что то не получается
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
01.04.2015, 16:57
Цитата Сообщение от MrCrown Посмотреть сообщение
вот код попроще
и у меня не меняет местами, остаётся все как изначально было
0
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
01.04.2015, 21:25
MrCrown,

Прошу прощения, я немного изменил код и добавил для информации.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim arr() As Double = {1.6, 1.9, 2, 8, 4, 5.7, 6, 7.2}
        Dim indMin As Integer = Array.IndexOf(arr, arr.Min)
        Dim indMax As Integer = Array.IndexOf(arr, arr.Max)
        MsgBox(Array.IndexOf(arr, arr.Min) & "    " & "исходный min")  ' исходный номер индекса минимального числа в массиве  (0), отсчет начинается с "0"
        MsgBox(Array.IndexOf(arr, arr.Max) & "    " & "исходный max")  ' исходный номер индекса максиимального числа в массиве  (3), отсчет начинается с "0"
        Dim tmp As Double = arr(indMax)
        arr(indMax) = arr(indMin)
        arr(indMin) = tmp
        MsgBox(Array.IndexOf(arr, arr.Min) & "    " & "измененный min") ' измененный номер индекса минимального числа в массиве  (3), отсчет начинается с "0"
        MsgBox(Array.IndexOf(arr, arr.Max) & "    " & "измененный max") ' измененный номер индекса максиимального числа в массиве  (0), отсчет начинается с "0"
 
        End
    End Sub
        
End Class
3
0 / 0 / 0
Регистрация: 23.03.2015
Сообщений: 21
02.04.2015, 07:48  [ТС]
Массив случайных чисел нужен еще
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
02.04.2015, 10:22
SannyTwo, Создавай его через Rnd
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
02.04.2015, 12:00
SannyTwo,
Вот такой код выставил "Ev Оракул" год назад в ответе на такой вопрос
Цитата Сообщение от SannyTwo Посмотреть сообщение
Массив случайных чисел
Проверьте, может быть подойдет.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Class Form1
    Private MyArray(49, 9) As Integer
    Private Sub Button1_Click() Handles Button1.Click
        Randomize()
        Dim RND As New Random
        Dim i As Integer
        Dim j As Integer
        For i = 0 To 49
            For j = 0 To 9
                MyArray(i, j) = RND.Next(0, 100)
            Next
        Next
 
        MsgBox("Массив 50х100 заполнен")
    End Sub
End Class
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.04.2015, 16:08
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

vasiliw8, всё решается проще. Вот однострочник на бейсике:
VB.NET
1
2
' Массив случайных чисел
Dim a() As Integer = (Enumerable.Range(1, 100).Select(Function(x) (New Random).Next(100))).ToArray()
2
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
02.04.2015, 17:26
Замабувараев,
Если не трудно, как вывести полученный, по Вашему коду массив в MsgBox или в текстовый файл?
Количество чисел массива можно уменьшить до 10.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.04.2015, 17:45
vasiliw8,
VB.NET
1
MsgBox(String.Join(vbCrlF, a.Select(Function(x) x.ToString).ToArray()))
Цитата Сообщение от vasiliw8 Посмотреть сообщение
Количество чисел массива можно уменьшить до 10.
Тогда нужно Enumerable.Range(1, 10), а дальше как в коде.
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
02.04.2015, 17:54
Замабувараев,
Это понятно. А как же первая часть моего вопроса?
Цитата Сообщение от vasiliw8 Посмотреть сообщение
Если не трудно, как вывести полученный, по Вашему коду массив в MsgBox или в текстовый файл?
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.04.2015, 18:07
vasiliw8, кто‐то не заметил этого кода?
Цитата Сообщение от Замабувараев Посмотреть сообщение
VB.NET
1
MsgBox(String.Join(vbCrlF, a.Select(Function(x) x.ToString).ToArray()))
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
02.04.2015, 20:07
Замабувараев,
Да, действительно не заметил, извините.
Цитата Сообщение от Замабувараев Посмотреть сообщение
MsgBox(String.Join(vbCrlF, a.Select(Function(x) x.ToString).ToArray()))
Выдает десять одинаковых чисел.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.04.2015, 20:21
vasiliw8, тогда объект Random нужно создать отдельно.
VB.NET
1
2
Dim r As New Random
Dim a() As Integer = (Enumerable.Range(1, 50).Select(Function(x) r.Next(100))).ToArray()
Создаст массив из пятидесяти случайных элементов на интервале [0; 100).
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
02.04.2015, 20:55
Замабувараев,
Все в порядке, большое спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.04.2015, 20:55
Помогаю со студенческими работами здесь

В одномерном массиве поменять местами максимальный (MAX) и минимальный (MIN) элементы
В одномерном массиве поменять местами максимальный (MAX) и минимальный (MIN) элементы. Вывести на печать исходный и полученный...

В произвольном двумерном числовом массиве определить минимальный и максимальный элемент и поменять их местами
В произвольном двумерном числовом массиве определить минимальный и максимальный элемент и поменять их местами

Поменять местами максимальный и минимальный элемент в одномерном массиве
могу только найти максимум , а минимум чет не получается но у меня не получается найти их позиции ( номера ). вот мой исходник!! ...

Поменять минимальный и максимальный элемент местами в одномерном массиве
Чёта туплю, не выводит второй массив: Нужно поменять минимальный и максимальный элемент местами в одномерном :jokingly: массиве . Не могу...

Найти минимальный и максимальный элементы в одномерном массиве и переставить их местами
1Найти минимальный и максимальный элементы и переставить их местами.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru