![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
savedata |
![]()
Сообщение
#1
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 64 Регистрация: 8.1.2011 Из: Красноярск Город: Krasnoyarsk Учебное заведение: СибГТУ Вы: студент ![]() |
Дан файл f, компоненты которого являются действительными числами. Найти наибольшее из значений модулей компонент с нечетными номерами.
Program z472v; Uses crt; Var f:file of integer; v,k,max:integer; Begin clrscr; Assign(f,'execute.dat'); Reset(f); max:=0; while not eof(f) do begin read(f,v); writeln(v:0); k:=k+1; if (k mod 2<>0) and (abs(v)>max) then max:=abs(v); end; close(f); writeln('naibolshii modul komponent s necetnim nomerom - ',max:0); readln; end. Содержание файла execute.dat: 2 -3 12 44 -21 23 13 -15 8 |
![]() ![]() |
savedata |
![]()
Сообщение
#2
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 64 Регистрация: 8.1.2011 Из: Красноярск Город: Krasnoyarsk Учебное заведение: СибГТУ Вы: студент ![]() |
После перезагрузки компа ошибка исчезла. но теперь из файла считывается какая то ерунда:
3378 11530 3379 12554 3378 13322 3380 11530 12594 2573 13106 2573 13105 2573 12589 3381 14346 naibolshii modul komponent s necetnim nomerom - 14346 почему? |
Борман |
![]()
Сообщение
#3
|
Школьник ![]() Группа: Продвинутые Сообщений: 14 Регистрация: 14.7.2010 Город: Нижний Новгрод ![]() |
Переменная K не инициализирована... наверное.
|
savedata |
![]()
Сообщение
#4
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 64 Регистрация: 8.1.2011 Из: Красноярск Город: Krasnoyarsk Учебное заведение: СибГТУ Вы: студент ![]() |
Оказалось что я в файл execute.dat просто через блокнот ввел данные) а нужно интерпретировать чтобы pascal понял)
Я осуществил ввод через программу и все заработало: Program z472v; Uses crt; Var f:file of integer; i,n,v,k,max:integer; s:string; Begin clrscr; Assign(f,'execute.dat'); write('create[C] a new or use(any key) an existing file? - '); readln(s); if (s='c') or (s='C') then begin Rewrite(f); Write('enter n - '); Readln(n); for i:=1 to n do begin readln(v); write(f,v); end; end; Reset(f); max:=0; while not eof(f) do begin read(f,v); writeln(v:0); k:=k+1; if (k mod 2<>0) and (abs(v)>max) then max:=abs(v); end; close(f); writeln('naibolshii modul komponent s necetnim nomerom - ',max:0); readln; end. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 19:31 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru