даны три числа вывести их в порядке возрастания . составить алгоритм в паскале. 2)определить пройдёт ли кирпич с рёбрами a,b,c в прямоугольное отверстие со сторонами x и y. алгоритм в паскале.
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 begin // Формируем массив A случайных чисел и выводим его var a:=ArrRandom(ReadInteger('n='),1,50); a.Println; // Формируем последовательность кортежей s из четных элементов A var s:=a.Select((x,i)->Rec(x,i+1)).Where(x->x.Item1.IsEven); Write('Четные элементы: '); s.Select(x->x.Item1+'['+x.Item2+']').Println; Write('Их количество равно ',s.Count,', произведение равно ', s.Select(x->x.Item1).Aggregate(1.0,(p,i)->p*i)) end.
Тестовое решение: n= 15 6 28 32 37 21 34 37 24 1 22 21 16 10 1 2 Четные элементы: 6[1] 28[2] 32[3] 34[6] 24[8] 22[10] 16[12] 10[13] 2[15] Их количество равно 9, произведение равно 30883184640
Var ar:array[1..n] of real; i,maxi,mini:integer; s,min,max:real; begin randomize; min:=2147483647; max:=-2147483648; writeln('First array:'); for i:=1 to n do begin ar[i]:=random(30); write(ar[i]:6); if ar[i]>max then begin max:=ar[i]; maxi:=i; end; if ar[i]<min then begin min:=ar[i]; mini:=i; end; s:=s+ar[i]; end; s:=s/n; ar[maxi]:=ar[maxi]-maxi; ar[mini]:=ar[mini]+s; writeln; writeln('Final array:'); for i:=1 to n do write(ar[i]:6); end.
#1:
const
Count = 3; // количество проверяемых чисел
var
m : array [1..Count] of Integer;
i, e, c: Integer;
begin
Writeln('Введите числа:');
for i := 1 to Count do
begin
Write(i ,': '); Readln( m[i] );
end;
for i := 1 to Count do
for e := 1 to Count do
if m[i] < m[e] then
begin
c := m[i];
m[i] := m[e];
m[e] := c;
end;
for i := 1 to Count do
Write(m[i], ' ');
Readln;
end.
#2:
var
a, b, c, x, y: Integer;
begin
Writeln('Введите рёбра кирпича:');
Write('a: '); Readln( a );
Write('b: '); Readln( b );
Write('c: '); Readln( c );
Writeln('Введите стороны отверстия:');
Write('x: '); Readln( x );
Write('y: '); Readln( y );
x := x*y;
if (a*b <= x) or (a*c <= x) or (b*c <= x) then
Write('Пройдёт.')
else
Write('не пройдёт.');
Readln;
end.