ИКТ Написать программу на Паскаль: Дан массив из 10 целых чисел, заполненный генератором случайных чисел [-15;19], отсортировать данный массив любым по возрастанию.
var i,j,n1,n2,n3,t:integer; a,b:array[1..nm] of integer; c:array[1..2*nm] of integer;
begin Write('Введите количество элементов в массиве A: '); Readln(n1); Write('Введите количество элементов в массиве B: '); Readln(n2); n3:=n1+n2; Write('Введите элементы массива A через пробел '); for i:=1 to n1 do begin Read(a[i]); c[i]:=a[i] end; j:=n1; Write('Введите элементы массива B через пробел '); for i:=1 to n2 do begin Read(b[i]); Inc(j); c[j]:=b[i] end; Write('Массив А: '); for i:=1 to n1 do Write(a[i],' '); Writeln; Write('Массив B: '); for i:=1 to n2 do Write(b[i],' '); Writeln; { сортировка массива С} for i := 1 to n3-1 do for j := 1 to n3-i do if c[j] > c[j+1] then begin t:=c[j]; c[j]:=c[j+1]; c[j+1]:=t end; Writeln('Отсортированный по возрастанию массив C'); for i:=1 to n3 do Write(c[i],' '); end.
Контрольное решение:
Введите количество элементов в массиве A: 6 Введите количество элементов в массиве B: 4 Введите элементы массива A через пробел 3 8 -4 0 8 12 Введите элементы массива B через пробел 9 -5 8 5 Массив А: 3 8 -4 0 8 12 Массив B: 9 -5 8 5 Отсортированный по возрастанию массив C -5 -4 0 3 5 8 8 8 9 12
Const nn=50; // максимальное количество учеников var i,n,sm,sd,km,kd:integer; am,ad:real; var a:array[1..nn] of integer; begin Write('Введите количество учеников: '); Read(n); Writeln('Введите рост учеников'); sm:=0; sd:=0; km:=0; kd:=0; for i:=1 to n do begin Read(a[i]); if a[i]>0 then begin sd:=sd+a[i]; Inc(kd) end else begin sm:=sm-a[i]; Inc(km) end end; am:=sm/km; ad:=sd/kd; Write('Средний рост мальчиков (',am:0:1,') '); if am-ad<=10 then Write('не '); Writeln('превышает средний рост девочек (',ad:0:1,') '); Writeln('больше, чем на 10 см') end.
Примерное решение
Введите количество учеников: 9 Введите рост учеников -192 165 -174 179 -172 171 169 170 -170 Средний рост мальчиков (177.0) не превышает средний рост девочек (170.8) больше, чем на 10 см
nm=10; {максимальная длина массива}
var
i,j,n1,n2,n3,t:integer;
a,b:array[1..nm] of integer;
c:array[1..2*nm] of integer;
begin
Write('Введите количество элементов в массиве A: ');
Readln(n1);
Write('Введите количество элементов в массиве B: ');
Readln(n2);
n3:=n1+n2;
Write('Введите элементы массива A через пробел ');
for i:=1 to n1 do
begin
Read(a[i]); c[i]:=a[i]
end;
j:=n1;
Write('Введите элементы массива B через пробел ');
for i:=1 to n2 do
begin
Read(b[i]); Inc(j); c[j]:=b[i]
end;
Write('Массив А: ');
for i:=1 to n1 do Write(a[i],' ');
Writeln;
Write('Массив B: ');
for i:=1 to n2 do Write(b[i],' ');
Writeln;
{ сортировка массива С}
for i := 1 to n3-1 do
for j := 1 to n3-i do
if c[j] > c[j+1] then
begin
t:=c[j]; c[j]:=c[j+1]; c[j+1]:=t
end;
Writeln('Отсортированный по возрастанию массив C');
for i:=1 to n3 do Write(c[i],' ');
end.
Контрольное решение:
Введите количество элементов в массиве A: 6
Введите количество элементов в массиве B: 4
Введите элементы массива A через пробел 3 8 -4 0 8 12
Введите элементы массива B через пробел 9 -5 8 5
Массив А: 3 8 -4 0 8 12
Массив B: 9 -5 8 5
Отсортированный по возрастанию массив C
-5 -4 0 3 5 8 8 8 9 12
nn=50; // максимальное количество учеников
var
i,n,sm,sd,km,kd:integer;
am,ad:real;
var a:array[1..nn] of integer;
begin
Write('Введите количество учеников: ');
Read(n);
Writeln('Введите рост учеников');
sm:=0; sd:=0; km:=0; kd:=0;
for i:=1 to n do
begin
Read(a[i]);
if a[i]>0 then begin sd:=sd+a[i]; Inc(kd) end
else begin sm:=sm-a[i]; Inc(km) end
end;
am:=sm/km; ad:=sd/kd;
Write('Средний рост мальчиков (',am:0:1,') ');
if am-ad<=10 then Write('не ');
Writeln('превышает средний рост девочек (',ad:0:1,') ');
Writeln('больше, чем на 10 см')
end.
Примерное решение
Введите количество учеников: 9
Введите рост учеников
-192 165 -174 179 -172 171 169 170 -170
Средний рост мальчиков (177.0) не превышает средний рост девочек (170.8)
больше, чем на 10 см