![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Костян |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Привет всем! Для начала хочу поздравить всех защитников Отечества с днем защитника Отечества. Понимаю что грузить Вас в предпраздничный день просто хамство. Но прошу простить меня и выслушать
![]() другой такой же только на русском. Прога должна загружать оба файла, пользователь вводит слово на англ. языке и если такое есть в первом файле то выводит слово из второго которое распологается по счету на той же строке как и в первом файле! Помогите кто может. P.S. Я не прошу никого писать прогу за меня(хотя не буду отказыватся), просто обьясните как это можно реализовать -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Просто напросто одновременно с чтением из первого файла - читай информацию и из второго... Если прочитанное слово из первого файла совпадает с введенным - печатается слово, прочитанное из второго...
Хотя это - извращение... Что, если у тебя есть 2000 слов в файле, и пользователь введет 3 слова, расположенных в 1984, 1983, и 1997 строках соответственно, ты будешь 3 раза перелопачивать весь файл? Даже два файла... |
Костян |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Просто напросто одновременно с чтением из первого файла - читай информацию и из второго... Если прочитанное слово из первого файла совпадает с введенным - печатается слово, прочитанное из второго... Хотя это - извращение... Что, если у тебя есть 2000 слов в файле, и пользователь введет 3 слова, расположенных в 1984, 1983, и 1997 строках соответственно, ты будешь 3 раза перелопачивать весь файл? Даже два файла... Пытался делать но ничаво не вышло, может поможешь? Вот код: Код program perevodhik; uses crt; var f, f1: text; s : array[1..3] of string; s1: array[1..3] of string; i: integer; slovo: string; label main; begin clrscr; assign(f,'f.txt'); reset(f); assign(f1,'f1.txt'); reset(f1); readln(slovo); main: begin for i:=1 to 3 do begin while not eof(f) do begin readln(f,s[i]); end; while not eof(f1) do begin readln(f1,s1[i]); end; end; end; if slovo=s[i] then begin writeln(s1[i]); readkey; end else main; end; end. Сообщение отредактировано: Костян - 23.02.2006 0:18 -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну, а если что-то типа:
typeНабирал прямо здесь - могут быть накладки... Не забывай закрывать файлы, кстати... |
Костян |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Все исправил, ток все равно не работает, помогите кто может...
![]() , ![]() , Код program perevodhik; type translate=record ang: string[20]; rus: string[20]; end; var dict: array[1..3] of translate; i: integer; f_rus : text; f_ang : text; rus, ang: string; slovo: string; begin assign(f_ang,'f.txt'); reset(f_ang); assign(f_rus,'f1.txt'); reset(f_rus); i:=0; while not eof(f_ang) do begin inc(i); with dict[i] do begin readln(f_ang,ang); readln(f_rus,rus); end; end; readln(slovo); for i:=1 to 3 do if slovo=dict[i].ang then begin writeln(dict[i].rus); readln; break; end; end. -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Так и не будет работать... Ты или поменяй чтение из файла на Real (вместо ReadLn, но этот вариант может НЕ сработать), или (что лучше всего) каждое слово в обоих файлах расположи на отдельной строке и оставь ReadLn (этот вариант должен работать)...
Кстати, не забудь, последней строкой в файле должна быть ПУСТАЯ строка, т.е. за последним словом обязательно нажми Enter, иначе оно читаться не будет... |
Костян |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так и не будет работать... Ты или поменяй чтение из файла на Real (вместо ReadLn, но этот вариант может НЕ сработать), или (что лучше всего) каждое слово в обоих файлах расположи на отдельной строке и оставь ReadLn (этот вариант должен работать)... Кстати, не забудь, последней строкой в файле должна быть ПУСТАЯ строка, т.е. за последним словом обязательно нажми Enter, иначе оно читаться не будет... ВСЕ РАВНО ничего не пашет, не подпрапвишь код: Код program perevodhik; type translate=record ang: string[20]; rus: string[20]; end; var dict: array[1..3] of translate; i: integer; f_rus : text; f_ang : text; rus, ang: string; slovo: string; begin assign(f_ang,'f.txt'); reset(f_ang); assign(f_rus,'f1.txt'); reset(f_rus); i:=0; while not eof(f_ang) do begin inc(i); with dict[i] do begin readln(f_ang,ang); readln(f_rus,rus); end; end; readln(slovo); for i:=1 to 3 do if slovo=dict[i].ang then begin writeln(dict[i].rus); readln; break; end; end. -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Да не буду я КОД править!!! Не трогай код уже... Я сказал, ЧТО тебе надо править.
|
Костян |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да не буду я КОД править!!! Не трогай код уже... Я сказал, ЧТО тебе надо править. Ну вот поправил: ![]() , ![]() , ток все равно ничаво не работает, обьясни что неправильно делаю. Вроде все слова с новой строки, да и после последнего слова свободная строка. Ток вот все равно ничаво не получается. Умоляю помоги, уже крыша едет ![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
Костян |
![]()
Сообщение
#10
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Люди помогите, уже голова от этой проги болит, все вроде бы правильно. В чем проблема ни как не доходит, помогите поглядите текстовые файлы и саму прогу, буду очень изнателен
![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
Бродяжник |
![]()
Сообщение
#11
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Похоже, что проблема все-таки в исходных файлах. Я добавил пару отладочных печатей - то, что я всегда делаю, когда чего-то не понимаю. И кое-что обнаружил...
Прикрепленные файлы ![]() |
Костян |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Похоже, что проблема все-таки в исходных файлах. Я добавил пару отладочных печатей - то, что я всегда делаю, когда чего-то не понимаю. И кое-что обнаружил... Большое спасибо, только ты не мог бы обьяснить эти изменения, а то я штот ничего не понял ![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Попробуй распакуй вот этот архив:
![]() запусти программу вообще без изменений, файлы TXT тоже не меняй, и введи слово hello именно так, БЕЗ заглавных букв... Скажешь, что получилось... |
Бродяжник |
![]()
Сообщение
#14
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
"Для тех, кто в танке".
Я просто добавил в программу вывод на экран всего того, что вводится. Вначале сразу же при вводе строк из файлов вывел их на экран. Потом после ввода слова с клавиатуры вывел его на экран. При этом каждую строку обрамил восклицательными знаками, чтобы четко видеть все ее символы, включая возможные пробелы. Потом в цикле, где выполняется просмотр массива строк на совпадение со словом, введенным с клавиатуры, на экран выводятся сравниваемые строки и пишется, равны они, или нет. Все, что осталось сделать, это запустить эту программу, и посмотреть, что она выводит. Если ввести с клавиатуры слово, которое на самом деле есть в словаре, программа его найдет. Она работает. |
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 23:51 |