PDA

Просмотр полной версии : помогите с школотской задачькой)


Olegros911
13.02.2010, 00:11
помогите друг попросил решить тупую школьную задачку а я как лох 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[i]);
end;
for i:=1 to 20 do
if C[i]<5 and (C[i])mod(4)=0 then
begin
L:=L+C[i];
g:=g+1;
end;
writeln ('suma=',L);
writeln ('kilkist=',g);
end.

Olegros911
13.02.2010, 00:16
вродиб все верно...предполагаю что это чтото с мод так как без этого она работает верно..но как записать ее чтобы работала не приложу ума...+2 сутки не сплю...башка как ведро

кто поможет +++++++++++++++++++++++++++

gold-goblin
13.02.2010, 00:17
на какой строке ошибка?

Olegros911
13.02.2010, 00:17
на какой строке ошибка?

if C[i]<5 and (C[i])mod(4)=0 then

patcher
13.02.2010, 00:23
Во-первых: оператор mod не может быть применен к переменным типа real :
C:array [1..20] of integer Во вторых: не правильно записано условие с оператором and :
if (C[i]<5) and (C[i] mod 4=0) then

Olegros911
13.02.2010, 00:26
Во-первых: оператор mod не может быть применен к переменным типа real :
C:array [1..20] of integer Во вторых: не правильно записано условие с оператором and :
if (C[i]<5) and (C[i] mod 4=0) then
спасибо большое...разобрался...ох уэ этот паскаль)

vvy
13.02.2010, 01:13
ребят, как бывший учитель информатики вам заявляю, что
if (C[i]<5) and (C[i] mod 4=0) then
не правильно, ибо не оптимизировано, а правильно
if C[i]=4 then

ЗЫ Это стандартный прикол

1n0y
13.02.2010, 01:57
хыхы, прикол харош :)

1n0y
13.02.2010, 02:30
vvy,
Плохой, наверное, тот учитель, который не слышал про отрицательные числа : (
На сях выглядит все проще
(c[i] < 5 && c[i] % 4 == 0 ) ? (l+=c[i], g++):0 ;


обрати внимание, что числа идут от 1 до 20. если я всё правильно понял (:

vvy
13.02.2010, 02:44
Idainet, да, ты прав. Ну уж извиняй, сагрился на свою практику.

числа идут от 1 до 20
Мне твой вариант больше нравится :) , но к моему сожалению, это количество элементов в массиве