B. Напишите программу, которая создает массив из 10 элементов и заполняет его случайными целыми числами от 10

  • 60
B. Напишите программу, которая создает массив из 10 элементов и заполняет его случайными целыми числами от 10 до 100. Затем отсортируйте массив в порядке возрастания, основываясь на последней цифре каждого числа. Первыми должны идти числа, оканчивающиеся на 0, затем числа, оканчивающиеся на 1 и так далее. Пример: если исходный массив следующий: 12 10 31 40 55 63 28 87 52 92, после сортировки он должен выглядеть так: 10 40 31 12 52 92 63 55 87 28. Код можно написать на языке Паскаль (старая версия).
Глория
28
Конечно! Вот подробное объяснение шагов для решения задачи на Pascal:

1. Создайте программу на языке Pascal и объявите массив из 10 элементов:

pascal
program SortByLastDigit;
var
arr: array[1..10] of Integer;
i: Integer;
begin
// Ваш код для заполнения массива случайными числами
end.


2. Заполните массив случайными целыми числами от 10 до 100:

pascal
program SortByLastDigit;
var
arr: array[1..10] of Integer;
i: Integer;
begin
Randomize; // Инициализация генератора случайных чисел
for i := 1 to 10 do
begin
arr[i] := Random(91) + 10; // Генерация случайного числа от 10 до 100
end;
end.


3. Отобразите исходный массив для проверки:

pascal
program SortByLastDigit;
var
arr: array[1..10] of Integer;
i: Integer;
begin
Randomize;
for i := 1 to 10 do
begin
arr[i] := Random(91) + 10;
end;

writeln("Исходный массив:");
for i := 1 to 10 do
begin
write(arr[i], " ");
end;
writeln;
end.


4. Отсортируйте массив в порядке возрастания, основываясь на последней цифре каждого числа:

pascal
program SortByLastDigit;
var
arr: array[1..10] of Integer;
i, j, temp: Integer;
begin
Randomize;
for i := 1 to 10 do
begin
arr[i] := Random(91) + 10;
end;

writeln("Исходный массив:");
for i := 1 to 10 do
begin
write(arr[i], " ");
end;
writeln;

// Сортировка по последней цифре
for i := 1 to 10 do
begin
for j := i + 1 to 10 do
begin
if arr[j] mod 10 < arr[i] mod 10 then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
end;

writeln("Отсортированный массив:");
for i := 1 to 10 do
begin
write(arr[i], " ");
end;
writeln;
end.


5. Запустите программу и проверьте результаты. Вы должны получить исходный массив и отсортированный массив, выведенные на экран.

Вот полный код программы на Pascal, который решает данную задачу:

pascal
program SortByLastDigit;
var
arr: array[1..10] of Integer;
i, j, temp: Integer;
begin
Randomize;
for i := 1 to 10 do
begin
arr[i] := Random(91) + 10;
end;

writeln("Исходный массив:");
for i := 1 to 10 do
begin
write(arr[i], " ");
end;
writeln;

// Сортировка по последней цифре
for i := 1 to 10 do
begin
for j := i + 1 to 10 do
begin
if arr[j] mod 10 < arr[i] mod 10 then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
end;

writeln("Отсортированный массив:");
for i := 1 to 10 do
begin
write(arr[i], " ");
end;
writeln;
end.


Надеюсь, это объяснение и код помогут вам разобраться в решении данной задачи. Если у вас возникнут какие-либо вопросы, пожалуйста, не стесняйтесь задавать!