Var a:array [1..20] of integer; i,p:integer; n:real; m:longint; begin n:=0; p:=0; m:=1; write ('Массив: '); for i:=1 to 20 do begin a[i]:=random(101)-50; write (a[i],' '); end; for i:=1 to 20 do begin n:=n+a[i]; end; n:=n/20; writeln; writeln; write ('Среднее арифметическое = ',n); for i:=1 to 19 do begin if a[20]<>a[i] then p:=p+1; end; writeln; write ('Кол-во чисел отличных от последнего в массиве = ',p); for i:=1 to 20 do begin if a[i]<0 then m:=m*a[i]; end; writeln; write ('Произведение отрицательных чисел массива = ',m); end.
Когда читаешь подобные условия, возникает чувство, что оно плохо переведено с другого языка. Так вроде нет - в профиле указано, что язык русский и возраст 15 лет...
"Ввести натуральное число". Какое число, что оно должно обозначать? Ну хорошо, ввели некое число. Далее: "Ввести количество чисел". Количество - это значит, СКОЛЬКО чисел будет обрабатываться в программе. Допустим, 10. И теперь: "Найти произведение...". А где взять значения этих чисел? А нигде! Зато дадут "много ". Ни языка программирования, ни даже намека на то, что нужна программа. А может, программа и не нужна, а нужна блок-схема? ... И только определенный опыт подсказывает, что "Ввести натуральное число" на самом деле означает "Ввести количество чисел", а "Ввести количество чисел" на самом деле подразумевает ввести сами эти числа в указанном количестве.
var n,m,i:integer; p:longint; begin Write('Количество чисел: '); Read(n); p:=1; Writeln('Введите указанное количество целых чисел'); for i:=1 to n do begin Read(m); if m<0 then p:=p*m end; Writeln('Произведение отрицательных числе равно ',p) end.
Тестовое решение: Количество чисел: 6 Введите указанное количество целых чисел 45 -12 -2 6 0 -8 Произведение отрицательных числе равно -192
i,p:integer;
n:real;
m:longint;
begin
n:=0;
p:=0;
m:=1;
write ('Массив: ');
for i:=1 to 20 do
begin
a[i]:=random(101)-50;
write (a[i],' ');
end;
for i:=1 to 20 do
begin
n:=n+a[i];
end;
n:=n/20;
writeln;
writeln;
write ('Среднее арифметическое = ',n);
for i:=1 to 19 do
begin
if a[20]<>a[i] then p:=p+1;
end;
writeln;
write ('Кол-во чисел отличных от последнего в массиве = ',p);
for i:=1 to 20 do
begin
if a[i]<0 then m:=m*a[i];
end;
writeln;
write ('Произведение отрицательных чисел массива = ',m);
end.
"Ввести натуральное число". Какое число, что оно должно обозначать? Ну хорошо, ввели некое число.
Далее: "Ввести количество чисел". Количество - это значит, СКОЛЬКО чисел будет обрабатываться в программе. Допустим, 10.
И теперь: "Найти произведение...". А где взять значения этих чисел? А нигде! Зато дадут "много ". Ни языка программирования, ни даже намека на то, что нужна программа. А может, программа и не нужна, а нужна блок-схема?
... И только определенный опыт подсказывает, что "Ввести натуральное число" на самом деле означает "Ввести количество чисел", а "Ввести количество чисел" на самом деле подразумевает ввести сами эти числа в указанном количестве.
var
n,m,i:integer;
p:longint;
begin
Write('Количество чисел: '); Read(n);
p:=1;
Writeln('Введите указанное количество целых чисел');
for i:=1 to n do begin
Read(m);
if m<0 then p:=p*m
end;
Writeln('Произведение отрицательных числе равно ',p)
end.
Тестовое решение:
Количество чисел: 6
Введите указанное количество целых чисел
45 -12 -2 6 0 -8
Произведение отрицательных числе равно -192