2.2.4. Даны два прямоугольника. Значения сторон вводятся через массив случай ным образом.На пишите програм му вычисляющую площадь каждого прямоугольника, и вывести на экран их значение.
var a,n,i,j,s:integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(a); for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 9 Введите 2 цифру из 5 2 Введите 3 цифру из 5 7 Введите 4 цифру из 5 3 Введите 5 цифру из 5 1 Натуральное число: 92731
Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)
//PascalABC.NET (версия 3.1, сборка 1198) var a,n,i,j,s:integer; mas:array[1..10]of integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(mas[i]); a:=mas[i]; for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 5 Введите 2 цифру из 5 4 Введите 3 цифру из 5 3 Введите 4 цифру из 5 2 Введите 5 цифру из 5 2 Натуральное число: 54322
Const n=20; var a:array[1..n]of integer; i,b,k,c,f,g,h:integer; begin for i:=1 to n do a[i]:=Random(70)-20; for i:=1 to n do write(a[i],' '); writeln; for i:=1 to n do begin if (a[i] mod 5 = 0) and (a[i] mod 10<>0) or (a[i]=50) then begin b:=i; for b:=i to (n-1) do a[i]:=a[i+1]; end; end; for i:=1 to n do write(a[i],' '); write('введите к '); read(k); for i:=1 to n do begin if a[i] mod i = 0 then begin c:=i; for i:=n downto c+1 do begin a[i]:=a[i-1]; a[c+1]:=k; end;end;end; for i:=1 to n do write(a[i],' '); writeln; f:=0; g:=0; for i:=n downto 1 do begin if (a[i]>0) then f:=i; end; if a[f]=0 then write('нет положительных '); for i:=n downto 1 do begin if (a[i]<0) then g:=i; end; if (a[g]=0) then write('нет отрицательных '); if (a[f]<>0) and (a[g]<>0) then begin h:=a[f]; a[f]:=a[g]; a[g]:=h; end; for i:=1 to n do write(a[i],' '); writeln; end.
program ploshchad_dvuh_pryamougolnikov;
var A,B:array[1..2] of integer;
S1,S2:integer;
begin
for i:integer:=1 to 2 do begin
randomize;
A[i]:=random(100)+1;
B[i]:=random(100)+1;
end;
S1:=A[1]*A[2];
S2:=B[1]*B[2];
writeln('Площадь первого прямоугольника равна '+S1+'см²');
writeln('Площадь второго прямоугольника равна '+S2+'см²');
end.
Объяснение: