Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.01.2012
Сообщений: 12

Найти минимальный элемент массива и поменять его местами с первым элементом массива

23.01.2012, 16:51. Показов 2949. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти минимальный элемент массива A(N) и поменять его местами с первым элементом массива. Полученный массив вывести на печать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2012, 16:51
Ответы с готовыми решениями:

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

Найти минимальный элемент массива A(N) и поменять его местами с первым элементом массива
Найти минимальный элемент массива A(N) и поменять его местами с первым элементом массива. Полученный массив вывести на печать. ...

Найти минимальный элемент массива A(N) и поменять его местами с первым элементом массива. Полученный массив вывести на печать
помогите еще с одной задачкой=)

2
1302 / 404 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
25.01.2012, 13:21
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Visual Basic
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
Sub Процедура1()
    'Указываем, что наш массив будет
    'содержать только целые числа (есть ещё дробные) - As Integer.
    Dim A() As Integer
    'Создаём в оперативной памяти компьютера поименованную область N,
    'которая может содержать только целые числа.
    Dim N As Integer
    Dim i As Integer
    Dim minValue As Integer, minItem As Integer
    Dim intСтол As Integer
    'С помощью InputBox помещаем в переменную N число -
    'количество элементов в массиве.
    N = InputBox("Укажите количество элементов в массиве.")
    'Создаём в оперативной памяти компьютера поименованную область A.
    '1 To - используется, чтобы порядковый номер первого элемента массива
    'был один, а не ноль (по умолчанию ноль), чтобы было удобно.
    ReDim A(1 To N)
    'Заполняем массив числами (чтобы было с чем работать).
    'Числа будем генерировать случайно с помощью Rnd.
    'Диапазон от -100 до +100.
    'For ... To ... Step ... Next - это цикл, который используется
    'для выполнения одного и того же действия заданное количество раз.
    For i = 1 To N Step 1
        'Случайные целые (недробные) числа генерируем по формуле,
        'которая есть в Справке (чтобы посмотреть эту формулу в Справке,
        'поставьте курсор на Rnd и нажмите клавишу F1).
        A(i) = Int((100 - (-100) + 1) * Rnd + (-100))
    Next i
    'Полученный массив для наглядности выводим в Excel.
    For i = 1 To N Step 1
        Cells(i, 1).Value = A(i)
    Next i
    'Собственно решение задачи.
    'Сначала за минимальный элемент принимаем первый элемент массива,
    'а затем остальные элементы массива сравнимаем с ним.
    'В minValue помещаем число из элемента массива.
    minValue = A(1)
    'В minItem помещаем порядковый номер элемента массива.
    minItem = 1
    For i = 2 To N Step 1
        'С помощь If ... Then ... End If - выбираем действие.
        'Если число в элементе меньше числа в переменной minValue,
        'то помещаем число из этого элемента в переменную minValue,
        'а порядковый номер элемента помещаем в переменную minItem.
        If A(i) < minValue Then
            minValue = A(i)
            minItem = i
        End If
    Next i
    'Теперь перемещаем число из первого элемента массива в элемент массива,
    'в котором содержится самое маленькое число и наоборот.
    'Для этого нужно использовать дополнительную переменную intСтол,
    'в которую поместим число из первого элемента массива.
    intСтол = A(1)
    A(1) = A(minItem)
    A(minItem) = intСтол
    'Выводим изменённый массив в Excel для наглядности
    '(чтобы проверить - правильно ли у нас работает код).
    For i = 1 To N Step 1
        Cells(i, 2).Value = A(i)
    Next i
End Sub
0
731 / 407 / 95
Регистрация: 19.12.2010
Сообщений: 756
25.01.2012, 13:51
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

можно так.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub n()
    Cells.Clear
    Randomize
    kol = InputBox("Введите к-во эл-тов", , 10)
    Set Rng = Range(Cells(1, 1), Cells(kol, 1))
    Rng.Formula = "=int(rand()*30+1)"
    Rng.Value = Rng.Value
    [b1] = "массив до замены"
     With Application.WorksheetFunction
      nom_min = .Match(.Min(Rng), Rng, 0)
      MsgBox "Номер минимального эл-та=" & nom_min
     End With
    'замена
     temp = [a1]
     [a1] = Range("A" & nom_min)
     Range("A" & nom_min) = temp
     [b1] = "массив после замены"
     MsgBox "Замена произведена!!!"
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.01.2012, 13:51
Помогаю со студенческими работами здесь

Найти минимальный элемент массива и поменять его местами с первым элементом
Можите помочь сделать одномерный массив , (размером больше 5) с натуральными числами . Надо найти минимальный элемент и поменять местами...

Найти минимальный элемент массива и поменять его местами с первым элементом
Дан массив X, содержащий 30 элементов. Найти минимальный элемент массива и поменять его местами с первым элементом. Помогите...

Найти минимальный элемент и поменять его местами с первым диагональным элементом массива
Дан двумерный массив вещественных чисел, который содержит не более 20 строк и не более 20 столбцов, найти минимальный элемент и поменять...

Найти минимальный элемента массива и поменять его местами с первым элементом
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { setlocale (0, &quot;Russian&quot;); ...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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