Это, если не учитывать, что введённые числа могут быть одинаковы
program p17; var x, x1, x2: integer; a,a1,a2: integer; beginwrite ('Введите число: '); readln (x); write ('Введите число: '); readln (x1); write ('Введите число: '); readln (x2); if (x>x1) and (x>x2) then a:=x else if (x1>x) and (x1>x2) then a:=x1 else if (x2>x) and (x2>x1) then a:=x2;
if (x<x1) and (x<x2) then a1:=x else if (x1<x) and (x1<x2) then a1:=x1 else if (x2<x) and (x2<x1) then a1:=x2;
a2:=a+a1; writeln ('Cумма самого большого и самого маленького числа, введённого вами: ',a2);
1) Program massiv1; Uses Crt; Type Mas=Array [1..10] of integer; Var a:Mas; d,s:integer; Procedure Vvod(Var x:Mas); Var i:Integer; Begin For i:=1 To 10 Do x[i]:=Random(50); End; Procedure Vivod(Var x:Mas); Var i:Integer; Begin For i:=1 To 10 do Write(x[i]:4); writeln; End; Procedure p1(Var x:Mas; d:integer; Var s:integer); Var i:Integer; Begin s:=0; For i:=1 To 10 Do If x[i] mod d=0 Then s:=s+x[i]; End; Begin Vvod(a); Vivod(a); write('d = '); readln(d); p1(a,d,s); Writeln('Сумма элементов, кратных ',d,' = ',s); End.
2) Program massiv2; Uses Crt; Type Mas=Array [1..10] of Real; Var a:Mas; k:integer; Procedure Vvod(Var x:Mas); Var i:Integer; Begin For i:=1 To 10 Do x[i]:=30*Random-20;{(B-A)*random+A} End; Procedure Vivod(Var x:Mas); Var i:Integer; Begin For i:=1 To 10 do Write(x[i]:8:2); writeln; End; Procedure p2(Var x:Mas;Var k:integer); Var i:Integer; Begin k:=0; For i:=1 To 10 Do If x[i]<0 Then k:=k+1; End; Begin Vvod(a); Vivod(a); p2(a,k); Writeln('Количество отрицательных элементов = ',k); End.
Пример: -13.77 -11.34 -2.35 7.69 -18.85 -12.48 -6.11 -17.10 7.12 -9.60 Количество отрицательных элементов = 8
3) Program massiv3; Uses Crt; Type Mas=Array [1..10] of Real; Var a:Mas; p:real; Procedure Vvod(Var x:Mas); Var i:Integer; Begin For i:=1 To 10 Do x[i]:=30*Random;{(B-A)*random+A} End; Procedure Vivod(Var x:Mas); Var i:Integer; Begin For i:=1 To 10 do Write(x[i]:8:2); writeln; End; Procedure p3(Var x:Mas;Var p:real); Var i:Integer; Begin p:=1; For i:=1 To 10 Do If x[i]<10 Then p:=p*x[i]; End; Begin Vvod(a); Vivod(a); p3(a,p); Writeln('Произведение элементов, меньших десяти = ',p:8:3); End.
Пример: 24.36 22.50 3.31 5.50 21.68 8.22 19.89 24.86 2.69 23.78 Произведение элементов, меньших десяти = 402.027
program p17;
var
x, x1, x2: integer;
a,a1,a2: integer;
beginwrite ('Введите число: ');
readln (x);
write ('Введите число: ');
readln (x1);
write ('Введите число: ');
readln (x2);
if (x>x1) and (x>x2) then a:=x
else if (x1>x) and (x1>x2) then a:=x1
else if (x2>x) and (x2>x1) then a:=x2;
if (x<x1) and (x<x2) then a1:=x
else if (x1<x) and (x1<x2) then a1:=x1
else if (x2<x) and (x2<x1) then a1:=x2;
a2:=a+a1;
writeln ('Cумма самого большого и самого маленького числа, введённого вами: ',a2);
end.
Program massiv1;
Uses Crt;
Type Mas=Array [1..10] of integer;
Var a:Mas; d,s:integer;
Procedure Vvod(Var x:Mas);
Var i:Integer;
Begin For i:=1 To 10 Do
x[i]:=Random(50);
End;
Procedure Vivod(Var x:Mas);
Var i:Integer;
Begin
For i:=1 To 10 do Write(x[i]:4);
writeln;
End;
Procedure p1(Var x:Mas; d:integer; Var s:integer);
Var i:Integer;
Begin
s:=0;
For i:=1 To 10 Do
If x[i] mod d=0 Then s:=s+x[i];
End;
Begin
Vvod(a);
Vivod(a);
write('d = ');
readln(d);
p1(a,d,s);
Writeln('Сумма элементов, кратных ',d,' = ',s);
End.
Пример:
4 18 37 15 45 4 9 48 47 27
d = 3
Сумма элементов, кратных 3 = 162
2)
Program massiv2;
Uses Crt;
Type Mas=Array [1..10] of Real;
Var a:Mas; k:integer;
Procedure Vvod(Var x:Mas);
Var i:Integer;
Begin For i:=1 To 10 Do
x[i]:=30*Random-20;{(B-A)*random+A}
End;
Procedure Vivod(Var x:Mas);
Var i:Integer;
Begin
For i:=1 To 10 do Write(x[i]:8:2);
writeln;
End;
Procedure p2(Var x:Mas;Var k:integer);
Var i:Integer;
Begin
k:=0;
For i:=1 To 10 Do
If x[i]<0 Then k:=k+1;
End;
Begin
Vvod(a);
Vivod(a);
p2(a,k);
Writeln('Количество отрицательных элементов = ',k);
End.
Пример:
-13.77 -11.34 -2.35 7.69 -18.85 -12.48 -6.11 -17.10 7.12 -9.60
Количество отрицательных элементов = 8
3)
Program massiv3;
Uses Crt;
Type Mas=Array [1..10] of Real;
Var a:Mas; p:real;
Procedure Vvod(Var x:Mas);
Var i:Integer;
Begin For i:=1 To 10 Do
x[i]:=30*Random;{(B-A)*random+A}
End;
Procedure Vivod(Var x:Mas);
Var i:Integer;
Begin
For i:=1 To 10 do Write(x[i]:8:2);
writeln;
End;
Procedure p3(Var x:Mas;Var p:real);
Var i:Integer;
Begin
p:=1;
For i:=1 To 10 Do
If x[i]<10 Then p:=p*x[i];
End;
Begin
Vvod(a);
Vivod(a);
p3(a,p);
Writeln('Произведение элементов, меньших десяти = ',p:8:3);
End.
Пример:
24.36 22.50 3.31 5.50 21.68 8.22 19.89 24.86 2.69 23.78
Произведение элементов, меньших десяти = 402.027