
Pascal ABC Напишите программу, которая находит три наименьших элемента массива и переставляет их в
начало массива. Остальные элементы должны следовать далее в том же порядке. Входные данные Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести элементы полученного массива в одной строке, разделив их пробелами. Примеры входные данные 6 6 2 1 5 3 4 выходные данные 1 2 3 6 5 4

Ответы на вопрос

a: array [1..10000] of integer;
i,j,k,m,n:integer;
begin
read(n);
for i := 1 to n do
read(a[i]);
for i := 1 to 3 do
begin
m := a[i];
k := i;
for j := i+1 to n do
if a[j] < m then
begin
m := a[j];
k := j
end;
for j := k downto i+1 do
a[j] := a[j-1];
a[i] := m
end;
for i := 1 to n do
write(a[i],' ')
end.



Программа нахождения и перестановки трех наименьших элементов массива в начало
```pascal program ThreeSmallestElements;
var arr: array of Integer; i, j, temp, n: Integer;
begin // Ввод размера массива ReadLn(n);
// Инициализация массива SetLength(arr, n);
// Ввод элементов массива for i := 0 to n - 1 do Read(arr[i]);
// Сортировка массива по возрастанию for i := 0 to n - 2 do for j := 0 to n - 2 - i do if arr[j] > arr[j + 1] then begin temp := arr[j]; arr[j] := arr[j + 1]; arr[j + 1] := temp; end;
// Перестановка трех наименьших элементов в начало массива for i := 0 to 2 do begin temp := arr[i]; arr[i] := arr[i + 3]; arr[i + 3] := temp; end;
// Вывод элементов массива for i := 0 to n - 1 do Write(arr[i], ' '); end. ```
Объяснение программы
1. Программа начинается с объявления переменных и массива `arr`, который будет хранить элементы массива. 2. Затем происходит ввод размера массива `n` с помощью `ReadLn(n)`. 3. Массив `arr` инициализируется с помощью `SetLength(arr, n)`, чтобы задать ему нужный размер. 4. С помощью цикла `for` и оператора `Read(arr[i])` происходит ввод элементов массива. 5. Далее следует сортировка массива `arr` по возрастанию с помощью алгоритма пузырьковой сортировки. 6. После сортировки массива, первые три элемента массива переставляются в начало массива с помощью цикла `for` и временной переменной `temp`. 7. Наконец, с помощью цикла `for` и оператора `Write(arr[i], ' ')` происходит вывод элементов массива через пробел.
Пример работы программы
Входные данные: ``` 6 6 2 1 5 3 4 ```
Выходные данные: ``` 1 2 3 6 5 4 ```
Объяснение работы программы
1. Входные данные указывают, что размер массива `n` равен 6, а элементы массива равны 6, 2, 1, 5, 3, 4. 2. После сортировки массива по возрастанию получаем: 1, 2, 3, 4, 5, 6. 3. Затем первые три элемента массива (1, 2, 3) переставляются в начало массива, получаем: 1, 2, 3, 4, 5, 6. 4. Выводим элементы массива через пробел: 1 2 3 4 5 6.
Примечание: Данная программа решает задачу, описанную в вопросе, но не является оптимальным решением. Если вам нужно более эффективное решение, пожалуйста, уточните требования.


Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili