В одномерном массиве найти минимальный элемент и удалить его

В одномерном массиве найти минимальный элемент и удалить его
Гость
Ответ(ы) на вопрос:
Гость
//Java import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList a = new ArrayList(); /**  * Заполнение  */ for (int i = 0; i < 50; i++) a.add(i, new java.util.Random().nextInt(100)); /**  * Пузырь  */ for (int i = 0; i < 50; i++) for (int j = 0; j < 50-i-1; j++) if (a.get(j) > a.get(j+1)){ int b = a.get(j); a.set(j, j+1); a.set(j+1, b); } for (int i = 0; i < 50; i++) System.out.print(a.get(i) + " "); System.out.println("\n---"); /**  * Удаляем  */ a.remove(0); for (int i = 0; i < 50-1; i++) System.out.print(a.get(i) + " "); } } Проверка: 1 2 3 4 5 6 7 8 9 10 12 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 96 98 --- 2 3 4 5 6 7 8 9 10 12 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 96 98 Так как использовался, само расширяющийся массив, то при удалении, ничего сдвигать не нужно
Гость
//PascalABC.Net 3.0, сборка 1064 const   nn=50; var   a:array[1..nn] of integer;   i,n,imin:integer; begin   Write('Введите количество элементов в массиве: '); Read(n);   Randomize;   Writeln('Исходный массив');   imin:=1;   for i:=1 to n do begin     a[i]:=Random(51)-25;     Write(a[i],' ');     if a[i]x<>a.Min)); end. Тестовое решение: Введите количество элементов в массиве 15 Исходный массив: [-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-25,-5,-15] Результат: [-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-5,-15] Можно сравнить понятность кода и его размер как со "школьным" решением, так и с программой на Java, приведенной в предыдущем ответе.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы