Цитата:
Сообщение от Vladimir_S
Пожалст.
1. В условии задачи говорится, что вводятся не числа, а строки символов. Значит, так и надо делать: вводить строки а уж затем преобразовывать в числа.
2. Нужно проверять четность не НОМЕРА элемента, а САМОГО элемента.
3. В конце программы хорошо бы вставить останов.
С учетом вышесказанного:
Код:
uses crt;
Var
a:array[1..100] of String;
i,n,s1,s2,d,Code:integer;
begin
clrscr;
s1:=0; s2:=0;
write('n= ');
Readln(n);
Writeln('Вводим элементы массива:') ;
for i:=1 to n do
ReadLn(a[i]);
for i:=1 to n do
begin
VAL(a[i],d,Code);
if (d mod 2)=0 then
s1:=s1+d
else s2:=s2+d;
end;
writeln('Сумма четных элементов массива s1=',s1);
writeln('Сумма нечетных элементов массива s2=',s2);
ReadKey;
End.
Обратите внимание - строки вводить оператором Read нельзя, только ReadLn.
|
Спасибо огромное
Но есть парочка вопросов
А val переводит строку в число?
И в чем замешаны переменные d и code?
Запутался что-то.
В конце ReadKey - эт что?
Цитата:
3. В конце программы хорошо бы вставить останов.
|
Кого?
Не въехал