Как сделать массив из 28 частей который надобно сгенерировать в спектре
Как сделать массив из 28 элементов который надобно сгенерировать в диапазоне от 20 до 40 разделив исходный массив на 2 вспомогательных с условием: четное или нечётное по индексам.
Отсортировать 1 массив по возростанию 2 по убыванию используя способ прямого выбора
Ответ:
Разъяснение:
program sortmas;
mode objfpcH+
uses
IFDEF UNIXIFDEF UseCThreads
cthreads,
ENDIFENDIF
Classes
you can add units after this ;
const z=28;
type mas=array[1..z] of integer;
var
u, u1,u2, mas1:mas;
buf:integer;
procedure ch1(n:integer);
var i,j,k:integer;
begin
j:=0;k:=0;
for i:=1 to n do
u[i]:= random(21)+20; //u[i]:= random(20,40); для PascalABC
for i:=1 to n do
begin
if i mod 2=0 then
begin
j:=j+1;u2[j]:=u[i];
end
else
begin k:=k+1;u1[k]:=u[i];end ;
end;
end;
//сортировка по возрастанию
// в mas1 отсортированный массив
procedure vozr1(a:mas;m:integer);
var i,k:integer;
begin
for k:=1 to m do
for i:=k to m do
begin
if a[k]gt;=a[i] then
begin
buf:=a[k];
a[k]:=a[i];
a[i]:=buf;
end ;
end;
mas1:=a;
end;
//сортировка по убыванию
// в mas1 отсортированный массив
procedure ubyv1(a:mas;m:integer);
var i,k:integer;
begin
for k:=1 to m do
for i:=k to m do
begin
if a[k]lt;=a[i] then
begin
buf:=a[k];
a[k]:=a[i];
a[i]:=buf;
end ;
end;
mas1:=a;
end;
// Вывод массива на экран
// b -массив n-размер,text - что желаем написать
procedure showmas(b:mas;n:integer;text:string);
var
i:integer;
begin
writeln(text);
for i:=1 to n do
write(b[i],' ');
readln;
end;
begin
ch1(28);
showmas(u,28,'Начальный массив u');
showmas(u1,14,'Массив с нечетными номерами ');
showmas(u2,14,'Массив с четными номерами');
vozr1(u1,14);
u1:=mas1;
showmas(u1,14,'Массив с нечетными номерами отсортированный по возрастанию');
ubyv1(u2,14);
u2:=mas1;
showmas(u2,14,'Массив с четными номерами отсортированный по убыванию');
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.