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

markasolnce2103 markasolnce2103    3   04.06.2019 15:40    4

Ответы
lubovsalamatova lubovsalamatova  05.07.2020 14:24
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]>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]<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])

Насчет первого. Мне непонятна формулировка "отсортировать по последней цифре"
ПОКАЗАТЬ ОТВЕТЫ
Mousediana Mousediana  05.07.2020 14:24
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 > 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] > a[ j] then
swap(a[i],a[j]);
 for i:=5 to 9 do
for j:=i+1 to 10 do
 if a[ i] < a[ j] then
swap(a[i],a[j]);;
 for i:=1 to 10 do
 write(a[ i],' '); 
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика