Другие языки программирования и технологии
Помогите с дз(паскаль)
Напишите программу нахождения среднего арифметического минимального из кратных 3 и минимального из кратных 10 элементов массива A[1:30] заполненного произвольными числами в диапазоне [0,50].
if a[i] mod 3 = 0 then begin k:=k+1; b[k]:=a[i] end;
потом ищешь МИН этого массива, аналогично и с кратными 10, не получится - пиши
program massiv;
uses crt;
var
i,n:integer;
b:array[1..100] of integer;
BEGIN
randomize;
clrscr;
writeln;
write('Vvesti N: ');
readln(n);
writeln('Vektor B: ');
for i:=1 to n do begin
b[i]:=random(101); write(b[i]:3);
end;
writeln;
end.
потом ищешь МИН этого массива, аналогично и с кратными 10, не получится - пиши
program massiv;
uses crt;
var
i,n:integer;
b:array[1..100] of integer;
BEGIN
randomize;
clrscr;
writeln;
write('Vvesti N: ');
readln(n);
writeln('Vektor B: ');
for i:=1 to n do begin
b[i]:=random(101); write(b[i]:3);
end;
writeln;
end.
Примерно в 2% случаев в массиве не окажется числа, кратного 10. Что программа должна делать в этом случае?
var i, j, min3, min10: integer;
k, l: boolean;
a: array[1..50] of integer;
begin
j := 0;
k := false;
l := k;
randomize();
for i := 1 to 50 do
begin
j := j + 1;
a[i] := random(51);
if (a[i] mod 3 = 0) then
begin
min3 := a[i];
k := true
end;
if (a[i] mod 10 = 0) then
begin
min10 := a[i];
l := true
end;
write(a[i]: 4);
if (j = 10) then
begin
j := 0;
writeln()
end
end;
if k and l then
begin
for i := 1 to 50 do
begin
if (a[i] mod 3 = 0) and (a[i] < min3)
then min3 := a[i];
if (a[i] mod 10 = 0) and (a[i] < min10)
then min10 := a[i]
end;
writeln('Минимальное кратное трём ', min3);
writeln('Минимальное кратное десяти ', min10);
writeln('Их среднее ', (min3 + min10) / 2)
end
else writeln('Нет нужных элементов')
end.

k, l: boolean;
a: array[1..50] of integer;
begin
j := 0;
k := false;
l := k;
randomize();
for i := 1 to 50 do
begin
j := j + 1;
a[i] := random(51);
if (a[i] mod 3 = 0) then
begin
min3 := a[i];
k := true
end;
if (a[i] mod 10 = 0) then
begin
min10 := a[i];
l := true
end;
write(a[i]: 4);
if (j = 10) then
begin
j := 0;
writeln()
end
end;
if k and l then
begin
for i := 1 to 50 do
begin
if (a[i] mod 3 = 0) and (a[i] < min3)
then min3 := a[i];
if (a[i] mod 10 = 0) and (a[i] < min10)
then min10 := a[i]
end;
writeln('Минимальное кратное трём ', min3);
writeln('Минимальное кратное десяти ', min10);
writeln('Их среднее ', (min3 + min10) / 2)
end
else writeln('Нет нужных элементов')
end.

Похожие вопросы
- Помогите студентке с Паскаль
- Помогите с решением. Паскаль.
- Помогите пожалуйста с паскалем...я его только осваиваю(
- Помогите пожалуйста с паскалем!!!
- Кто поможет в программировании?Паскаль
- Помогите решить задачу Паскаль
- Срочно!!! Не займет много времени!!! Ломаю голову над вопросом, Помогите!!! Программа. Pascal. Паскаль
- Помогите плиз в паскале!!!!
- Помогите кто знает Паскаль
- Помогите пожалуйста с паскалем!
a: array [1..30] of integer;
И да, в ≈2,34% случаев элементов, кратных десяти, может не оказаться вообще, но это не страшно, так как этот случай тоже учитывается.