![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
написать программу на языке pascal. из компонентов исходного файла целых чисел сформировать массв нечетных чисел. Подскажите где ошибка и какая
program zadacha; uses crt; const n=3; var a:array[1..n] of real; b:array[1..n] of real; i,k:integer; f:file of real; begin assign (f, 'd:\abc.txt'); rewrite(f); for i:=1 to n do write('a='); read(a[i]); write(f,a[i]) ; close(f); reset(f); for i:=0 to n do read (f, a[i]); close(f); if a[i] mod 2<>0 then begin k:=k+1; b[k]:=a[i]; end; for i:=1 to k do writeln(b[i]); end. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 125
|
![]()
Если в цикле несколько строк программы нужно пользоваться:
begin ... end; и ещё Код:
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) Вы неверно прочитали условие
Цитата:
и, соответственно, переменные того же типа. Кстати, в математике для вещественных чисел вообще не определенно понятие чётности/нечётности! 2) код надо оформлять специальным тэгом (кнопочка с решёточкой #) 3) чтение лучше производить в цикле while Not Eof(f) do begin ... и, разумеется, контролировать, чтобы число прочитанных чисел не превысило N да и N сделайте хотя бы N = 100, что Вам, 300 байт лишних жалко? ![]() |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
спасибо........только чет не получается, вроде все исправила (((
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 125
|
![]()
Выложи новую версию, мы проверим!
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
program zadacha;
uses crt; const n=100; var a:array[1..n] of integer; b:array[1..n] of integer; i,k:integer; f:file of integer; begin assign (f, 'd:\abc.txt'); rewrite(f); while not eof(f) do begin for i:=1 to n do write('a='); read(a[i]); write(f,a[i]) end; ; close(f); reset(f); for i:=0 to n do read(f,a[i]); close(f); if a[i] mod 2<>0 then begin k:=k+1; b[k]:=a[i]; end; for i:=1 to k do writeln(b[i]); end. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 125
|
![]()
Вот код явные ошибки исправили, попробуй:
Код:
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
to lubov_morkov,
уф.. всё не так... я же говорил while Not eof(f) для ЧТЕНИЯ! что же Вы его в запись вставили?! да и тебовать каждый раз вводить 100 чисел - это жестоко! тогда уже надо случайными числами заполнять файл... ладно. ловите готовый код: Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
спасибо болшое)))
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
РАБОТА С ФАЙЛАМИ | tanek | Помощь студентам | 5 | 01.02.2011 17:00 |
С++ю Работа с файлами | maloy-rom | Помощь студентам | 1 | 03.06.2009 16:18 |
Работа с файлами | basss | Помощь студентам | 2 | 22.12.2008 01:07 |
Работа с файлами | Dim@ | Помощь студентам | 1 | 26.12.2007 22:43 |