Решить задачи с помощью Паскаля: 1. Заполнить массив из 10 частей

Решить задачи с подмогою Паскаля:
1. Заполнить массив из 10 частей случайными числами в промежутке [0..100] и отсортировать его по заключительной цифре.
2. Заполнить массив из 10 элементов случайными числами в промежутке [0..100] и отсортировать первую половину по возрастанию, а вторую- по убыванию. Тут решать лучше способом выбора.

Задать свой вопрос
2 ответа
Var i,j:integer;
mas:array [1..10] of integer;
begin
randomize;
for i:= 1 to 10 do 
mas[i]:=random(101);
for j:=1 to 10-1 do
for i:=1 to 10-j do
if mas[i] mod 10 gt; mas[i+1] mod 10 then
swap(mas[i],mas[i+1]);
for i:=1 to 10 do
writeln(mas[i]);
end.
2)
var a:array[1..10] of Integer; 
i,j:Integer; 
begin 
randomize;
for i:=1 to 10 do
a[ i]:=random(101); 
for i:=1 to 4 do
for j:=i+1 to 5 do
if a[ i] gt; a[ j] then
swap(a[i],a[j]);
 for i:=5 to 9 do
for j:=i+1 to 10 do
 if a[ i] lt; a[ j] then
swap(a[i],a[j]);;
 for i:=1 to 10 do
 write(a[ i],' '); 
end.

2) Сортирую не методом выбора, а пузырьковым способом, т.к. мне безызвестна формулировка "способ выбора"
program z1;
var
mas:array[1..10] of Integer;
m,n,temp:integer;
begin
randomize;
for i:=1 to 10 do
begin
mas[i]:=random(100);
end;
for i:=1 to 4 do if mas[i]gt;mas[i+1] then
begin
temp:=mas[i+1];
mas[i+1]:=mas[i];
mas[i]:=temp;
end;
for i:=6 to 9 do if mas[i]lt;mas[i+1] then
begin
temp:=mas[i+1];
mas[i+1]:=mas[i];
mas[i]:=temp;
end;
end.

Если нужен еще и вывод на экран - то дописываете перед end. следующее: for i:=1 to 10 do writeln(mas[i])

Насчет первого. Мне непонятна формулировка "отсортировать по последней цифре"

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт