
Помогите, пожалуйста!!!Turbo PascalСоздайте массив, содержащий 20 различных целых чисел.
Отсортируйте первую половину массива по возрастанию, а вторую по убыванию. Все четные элементы массива увеличить в три раза, а нечетные в 2 раза. содержимое обработанного таким образом массива вывести на экран.

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

begin
randomize;
writeln();
for i := 1 to 20 do
a[i] := random(1000);
for j := 2 to 10 do
for i := 10 downto j do
if a[i] < a[i - 1]
then
begin
x := a[i];
a[i] := a[i - 1];
a[i - 1] := x;
end;
for j := 12 to 20 do
for i := 20 downto j do
if a[i] > a[i - 1]
then
begin
x := a[i];
a[i] := a[i - 1];
a[i - 1] := x;
end;
for i := 1 to 20 do
if i mod 2 = 0
then
a[i] := 3 * a[i]
else
a[i] := 2 * a[i];
writeln();
for i := 1 to 20 do
write(a[i], ' ');
end.



Решение в Turbo Pascal
Для начала создадим массив, содержащий 20 различных целых чисел. Затем отсортируем первую половину массива по возрастанию, а вторую - по убыванию. После этого увеличим все четные элементы массива в три раза, а нечетные - в два раза. Наконец, выведем содержимое обработанного массива на экран.
```pascal program SortAndModifyArray; var arr: array[1..20] of integer; i, temp: integer; begin // Заполнение массива случайными различными числами randomize; for i := 1 to 20 do begin repeat arr[i] := random(50) + 1; // Генерация случайного числа от 1 до 50 // Проверка на уникальность числа в массиве temp := 1; while (temp < i) and (arr[temp] <> arr[i]) do temp := temp + 1; until temp = i; end;
// Сортировка первой половины массива по возрастанию for i := 1 to 9 do begin for j := i + 1 to 10 do begin if arr[i] > arr[j] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end;
// Сортировка второй половины массива по убыванию for i := 11 to 19 do begin for j := i + 1 to 20 do begin if arr[i] < arr[j] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end;
// Увеличение четных элементов в три раза, нечетных - в два раза for i := 1 to 20 do begin if arr[i] mod 2 = 0 then arr[i] := arr[i] * 3 else arr[i] := arr[i] * 2; end;
// Вывод содержимого массива for i := 1 to 20 do writeln(arr[i]); end. ```
Этот код создает массив, заполняет его случайными уникальными числами, сортирует первую половину по возрастанию, вторую - по убыванию, затем изменяет элементы в соответствии с условиями и выводит результат на экран.
Примечание: Пожалуйста, убедитесь, что вы используете среду разработки Turbo Pascal для запуска этого кода.


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







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