Доброго времени суток!!!
Дана задача: Ввести файл F из 11 элементов. Определить в нѐм сумму элементов
стоящих на позициях, чей номер больше записанного в них значения.
Вот что получилось:
Код:
program p15;
uses crt;
var
s: real;
a,b,i:integer;
f:file of integer;
procedure vvod;
begin
clrscr;
assign(f,'dat.dat');
rewrite(f);
writeln('Введите данные для заполнения файла: ');
for i:=1 to 11 do
begin
write('Введите ',i, '-элемент: ');
readln(b);
write(f,b);
end;
close(f);
end;
procedure resh;
begin
assign(f, 'dat.dat');
reset(f);
while not eof(f) do
begin
read(f,b);
I:=i+1;
if b>s then
begin
a:=a+b;
s:= s + 1;
end;
write(b);
end;
end;
procedure vivod;
begin
write(' Результат= ',a);
close(f);
end;
begin
vvod;
resh;
vivod;
end.
Проблема заключается в том, что у меня считает наоборот. т.е. вычисляется сумма элементов
стоящих на позициях, чей номер меньше записанного в них значения, а при замене операции отношения(на 31 строке) и вовсе ничего не суммируется.
Подскажите пожалуйста, если не принимать во внимание то, что вся моя программа один сплошной косяк, где я накосячил?
Заранее спасибо!!