|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
Pascal операция отношения
Доброго времени суток!!!
Дана задача: Ввести файл 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 строке) и вовсе ничего не суммируется. Подскажите пожалуйста, если не принимать во внимание то, что вся моя программа один сплошной косяк, где я накосячил? Заранее спасибо!! |
#2
|
||||
|
||||
Если не менять стилистику программы и внести минимальные изменения, то:
Код:
program p15; {$APPTYPE CONSOLE} var f : File of Integer; Sum : Integer; procedure vvod; var I, J : Integer; begin AssignFile(f, 'dat.dat'); Rewrite(f); WriteLn('Введите данные для заполнения файла: '); for I := 1 to 11 do begin Write('Введите ', i, '-элемент: '); ReadLn(J); Write(f, J); end; CloseFile(f); end; procedure resh; var I, J : Integer; begin AssignFile(f, 'dat.dat'); Reset(f); I := 0; while not eof(f) do begin Read(f, J); inc(I); if I > J then inc(Sum, J); Write(J, ', '); end; end; procedure vivod; begin Write(' Результат = ', Sum); CloseFile(f); end; begin vvod; resh; vivod; end. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
PATRIOT.34 (21.12.2014)
|