![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
trminator |
![]()
Сообщение
#1
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Примерно так
Код PROGRAM FindTown; var input:text; s,Find:string; begin assign(input,'c:bpworkinput.txt'); reset(input); ReadLn(Find); While not EOF(input) do begin ReadLn(input,s); if pos(Find,s)<>0 then {Если нужно не любое совпадение, а именно с начала, то кажется =1} WriteLn(s) end; close(input) end. Сообщение отредактировано: volvo - 17.12.2004 14:26 -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
![]() ![]() |
Elected |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 10 Репутация: ![]() ![]() ![]() |
Привет, Паскалянтам!
Более сложная задача. Даны два текстовых файла. В одном записаны города, а в другом денежные суммы этих городов. Например: File1 Белгород Москва Санкт-Петербург Воронеж File2 1000 9000 2500 1900 Программа должна выполнить следующие задачи: Задача №1: На экран выдается запрос «Введите название города =>», набираем например «Мо». На экране должно высветиться: «город Москва – сумма 9000», т.е. должен происходить поиск в File1 по городу и сумма браться с File2 соответствующая городу. В нашем примере «Москва – 9000», вторая строка в file1 и file2. Задача №2: На экране выдается запрос «Введите новую сумму =>», набираем «10000». И после этого в File2 сумма «10000» записывается на вторую позицию строки вместо «9000», т.е. при повторном запуске программы, при поиске города «Москва» на экране должно высветиться «город Москва – сумма 10000» и т.д. У меня ничего не получается, но кое-что я набросал, правда только получилось решить задание №1. Код Uses Crt; lABEL 1; Var find:string; s:string; input:text; a,a1:text; c:array [1..10] of string; c1:array [1..10] of integer; i:integer; Begin assign(input,'INPUT.txt'); reset(input); Write('Введите город => '); ReadLn(Find); While ((not EOF(input))and(pos(Find,s)<>1)) do begin ReadLn(input,s); if pos(Find,s)<>0 then wRITELN(S); end; close(input); Assign(a,'summa.txt'); Reset(a); Assign(a1,'input.txt'); Reset(a1); For i:=1 To 10 Do Begin READLN(A,C1[I]); Readln(A1,c[i]); END; For i:=1 To 10 Do Begin iF S=C[I] tHEN wRITELN('Город ',C[I],' сумма ',C1[I]); END; Close(a); Close(a1); Readln; End. Можно сделать такую прогу без применения массива? Заранее благодарен, Алексей. |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 21:15 |