![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
SiNaC0m |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: SiNaC0m Репутация: ![]() ![]() ![]() |
Опишите процедуру delete(f), удаляющую из файла f все литеры '+' и '-'.
Код uses wincrt; type myfile = file of char; procedure delete(var s,s1: myfile; ac : char); begin while not eof(s) do begin read(s,ac); if ac in ['+','-'] then else write(s1,ac); end; end; var f,f1 : myfile; c,a : char; begin assign(f,'c:\a.txt'); reset(f); assign(f1,'c:\b.txt'); rewrite(f1); delete(f,f1,a); close(f); close(f1); end. Опишите процедуру double(f), удваивающие в файле f все ЦИФРЫ Код uses wincrt; type myfile = file of char; procedure dva(var s,s1: myfile; ac : char); begin while not eof(s) do begin read(s,ac); if ac in ['0'..'9'] then write(s1,ac,ac) else write(s1,ac); end; end; var f,f1 : myfile; c,a : char; begin assign(f,'c:\a.txt'); reset(f); assign(f1,'c:\b.txt'); rewrite(f1); dva(f,f1,a); close(f); close(f1); end. Опишите процедуру replace(f,c), заменяющую последнюю литеру в файле f на литеру с Код uses wincrt; type myfile = file of char; procedure replace(var s: myfile; ac : char); var i : integer; begin i:=filesize(s); seek(s,i); write(s,ac); end; var f,f1 : myfile; c,a : char; begin assign(f,'c:\a.txt'); reset(f); read(a); replace(f,a); close(f); end. Опишите процедуру next(f), заменяющую в файле каждую ЦИФРУ на следующую по величине цифру ('9'заменять на '0'). Код uses wincrt; type myfile = file of char; procedure next(var s,s1: myfile; ac : char); begin while not eof(s) do begin read(s,ac); if ac in ['0'..'9'] then case ac of '0': ac:='1'; '1': ac:='2'; '2': ac:='3'; '3': ac:='4'; '4': ac:='5'; '5': ac:='6'; '6': ac:='7'; '7': ac:='8'; '8': ac:='9'; '9': ac:='0'; end; write(s1,ac); end; end; var f,f1 : myfile; c,a : char; begin assign(f,'c:\a.txt'); reset(f); assign(f1,'c:\b.txt'); rewrite(f1); next(f,f1,a); close(f); close(f1); end. Не могу сделоть следующие задание:"30) type myfile = file of char; Опишите процедуру change(f), удаляющую из файла все отрицательные нечетные числа." Кто может, объясните плизз....!!! -------------------- Мы стремимся к знаниям... вы называете нас преступниками. Мы существуем без цвета кожи, без национальности и религиозных предубеждений... вы называете нас преступниками. Вы производите атомные бомбы, разжигаете войны, убиваете, обворовываете и врете нам, пытаясь убедить в своей правоте... а мы все также остаемся преступниками.
© Mentor |
SiNaC0m |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: SiNaC0m Репутация: ![]() ![]() ![]() |
Как я понимаю, нужно проверить чаровкую переменную, на вхождение во множество отрицательных чисел(символов), но как это селать????
Мне не нужен полный текст проги, просто, кто знает, скажите как проверить на вхождение???? Сообщение отредактировано: Koma - 25.09.2006 20:47 -------------------- Мы стремимся к знаниям... вы называете нас преступниками. Мы существуем без цвета кожи, без национальности и религиозных предубеждений... вы называете нас преступниками. Вы производите атомные бомбы, разжигаете войны, убиваете, обворовываете и врете нам, пытаясь убедить в своей правоте... а мы все также остаемся преступниками.
© Mentor |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
"Чаровская", как ты ее называешь, переменная, не способна физически хранить отрицательные значения... Здесь немного другой способ решения: читать символы из файла в строку, пока не встретится разделитель (скажем, пробел) или не будет достигнут конец файла... Полученную строку перевести в число (используя процедуру Val, например), и если полученное число - отрицательное и нечетное, то НЕ записывать строковое представление числа в файл-результат, иначе - ДА записывать... Все разделители тоже должны записываться в выходной файл...
Т.е., фактически, иы должен рассматривать свой File Of Char как обычный текстовый файл... Цитата Мне не нужен полный текст проги ![]() ![]() |
SiNaC0m |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: SiNaC0m Репутация: ![]() ![]() ![]() |
Код procedure change(var g,g1 : myfile;ch : char); var st : string; i,int : integer; begin while not eof(g) do read(g,ch); st:=ch; val(st,i,int); writeln(int);{Вывыдит номер позиции, в которой произошла ошибка преобразования} if (i<0)and(odd(i)) then else write(g1,ch) end; Не могу понять, почему мне в первой же позиции выдаёт ошибку преобразования??? ![]() -------------------- Мы стремимся к знаниям... вы называете нас преступниками. Мы существуем без цвета кожи, без национальности и религиозных предубеждений... вы называете нас преступниками. Вы производите атомные бомбы, разжигаете войны, убиваете, обворовываете и врете нам, пытаясь убедить в своей правоте... а мы все также остаемся преступниками.
© Mentor |
Pola |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
А там всего одна позиция...
|
}0pa |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не могу понять, нафига ты вообще используешь Char? Не проще ли использовать целый, например, тип.
-------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата Не проще ли использовать целый, например, тип. Нет, не проще... Проще вообще никакой не использовать, тем более, что именно это и требуется по заданию:Цитата(Koma @ 25.09.2006 20:21) Опишите процедуру change(f), удаляющую из файла все отрицательные нечетные числа. Я вижу, что функция должна принимать только один параметр... Где автор нашел еще один - ума не приложу... |
SiNaC0m |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: SiNaC0m Репутация: ![]() ![]() ![]() |
Всем спасибо за помощь, ЭКЗАМЕН Я СДАЛ!!!
![]() -------------------- Мы стремимся к знаниям... вы называете нас преступниками. Мы существуем без цвета кожи, без национальности и религиозных предубеждений... вы называете нас преступниками. Вы производите атомные бомбы, разжигаете войны, убиваете, обворовываете и врете нам, пытаясь убедить в своей правоте... а мы все также остаемся преступниками.
© Mentor |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 20:50 |