помогите друг попросил решить тупую школьную задачку а я как лох 2 час сижу немогу зделать....помогите не пойму в чем ошибка задача состоит в том что есть масив в котором нужно найти суму елементов <5 и которые при этом делятся на 4 без остачи...вроди все написало а выкидывает ошибку operand type do not match program 4334; var C:array [1..20] of real; g,i:integer;L:real; begin L:=0; g:=0; for i:=1 to 20 do begin Writeln ('element ',i,'='); readln (C); end; for i:=1 to 20 do if C<5 and (C)mod(4)=0 then begin L:=L+C; g:=g+1; end; writeln ('suma=',L); writeln ('kilkist=',g); end.
вродиб все верно...предполагаю что это чтото с мод так как без этого она работает верно..но как записать ее чтобы работала не приложу ума...+2 сутки не сплю...башка как ведро кто поможет +++++++++++++++++++++++++++
Во-первых: оператор mod не может быть применен к переменным типа real : Code: C:array [1..20] of [B][COLOR=Red]integer[/COLOR][/B] Во вторых: не правильно записано условие с оператором and : Code: if [B][COLOR=Red](C[i]<5) and (C[i] mod 4=0)[/COLOR][/B] then
ребят, как бывший учитель информатики вам заявляю, что Code: if (C[i]<5) and (C[i] mod 4=0) then не правильно, ибо не оптимизировано, а правильно Code: if C[i]=4 then ЗЫ Это стандартный прикол
Idainet, да, ты прав. Ну уж извиняй, сагрился на свою практику. Мне твой вариант больше нравится , но к моему сожалению, это количество элементов в массиве