дан одномерный массив,получить удвоенную сумму всех положительных членов массива и найти сумму чисел,которые не четные и отрицательные пожалуйста умоляю помогите мне
Answers & Comments
Эклео
Const n=10; var s1,s2,i: integer; var a: array[1..n] of integer; begin s1:=0; s2:=0; writeln ('Исходный массив'); for i:=1 to n do begin a[i]:=random(-10,10); write (a[i]:3); if a[i]>=0 then s1:=s1+a[i] else if a[i] mod 2<>0 then s2:=s2+a[i]; end; s1:=s1*2; writeln; writeln ('Удвоенная сумма положительных элементов = ',s1); writeln ('Сумма нечетных отрицательных элементов = ',s2); end.
Эклео
хь.... может напишите какую точно ошибку выдает?
Эклео
можно попробовать по-другому записать само рандомное присвоение : a[i]:=random(21)-10;
Эклео
И если уж совсем никак не получится избавиться от ошибки, то просто замените рандом на ввод с клавиатуры. Условие вашей задачи не устанавливает каких-то требований к вводу. Я пользуюсь рандомом для экономии времени.
Эклео
const n=10; var s1,s2,i: integer; var a: array[1..n] of integer; begin s1:=0; s2:=0;
for i:=1 to n do begin write ('Введите ',i,'-й элемент массива: '); read (a[i]); if a[i]>=0 then s1:=s1+a[i] else if a[i] mod 2<>0 then s2:=s2+a[i]; end; s1:=s1*2; writeln; writeln ('Удвоенная сумма положительных элементов = ',s1); writeln ('Сумма нечетных отрицательных элементов = ',s2); end.
v777or777
жалко,что фотографии нелбзя отправлять,мне информатик ее поменял и сказал,что рандом там не нужен,он поменял ее она всеровно не работает,одни нули какие-то
Answers & Comments
var
s1,s2,i: integer;
var a: array[1..n] of integer;
begin
s1:=0; s2:=0;
writeln ('Исходный массив');
for i:=1 to n do begin
a[i]:=random(-10,10);
write (a[i]:3);
if a[i]>=0
then s1:=s1+a[i]
else if a[i] mod 2<>0
then s2:=s2+a[i];
end;
s1:=s1*2;
writeln;
writeln ('Удвоенная сумма положительных элементов = ',s1);
writeln ('Сумма нечетных отрицательных элементов = ',s2);
end.
--------------------Результат:----------------------
Исходный массив
-2 0 8 -6 -1 6 7 -4 -7-10
Удвоенная сумма положительных элементов = 42
Сумма нечетных отрицательных элементов = -8
Randomize; s1:=0; s2:=0;
var
s1,s2,i: integer;
var a: array[1..n] of integer;
begin
s1:=0; s2:=0;
for i:=1 to n do begin
write ('Введите ',i,'-й элемент массива: ');
read (a[i]);
if a[i]>=0
then s1:=s1+a[i]
else if a[i] mod 2<>0
then s2:=s2+a[i];
end;
s1:=s1*2;
writeln;
writeln ('Удвоенная сумма положительных элементов = ',s1);
writeln ('Сумма нечетных отрицательных элементов = ',s2);
end.