Работа с файлами |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Работа с файлами |
@^WARlock^@ |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 96 Пол: Мужской Реальное имя: John Репутация: 0 |
Помогите решить.
Нужно написать прогу, которая считывает из заданного текстового файла слова и записывает в новый текстовый файл только те из них, которые начинаются с указанной буквы. |
volvo |
Сообщение
#2
|
Гость |
Ну, и КАК это называется? Ведь практически эта же задача решена как пример работы с файлами в
FAQ: Файлы |
@^WARlock^@ |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 96 Пол: Мужской Реальное имя: John Репутация: 0 |
Как связать файлы я и сам знаю, а вот серидину что-то ни как ...... .
Код uses crt; var n,i:integer; f,f1:text; a,b:string; begin clrscr; assign (f,'c:\1.txt'); reset(f); assign (f1,'c:\2.txt'); rewrite(f1); read(f,a); ......... write(f1,b); readln; close(f); close(f1); end. |
Bokul |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
uses crt; -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
Сообщение
#5
|
Гость |
Цитата(@^WARlock^@ @ 9.08.2006 2:37) Как связать файлы я и сам знаю, а вот серидину что-то ни как ...... . А ссылку на "середину" я тебе и привел... Учись читать посты ДО КОНЦА и находить то, что там написано. |
@^WARlock^@ |
Сообщение
#6
|
Пионер Группа: Пользователи Сообщений: 96 Пол: Мужской Реальное имя: John Репутация: 0 |
Программа работает вот в таком виде:
Код uses crt; var f:text; a,n:string; k,i:integer; begin clrscr; writeln('Vvedite stroku: '); readln(n); write('Vvedite bukvu: '); readln(a); n:=n+' '; while length(n)>0 do begin i:=pos(' ',n); if n[1]=a then k:=k+1; delete(n,1,i); end; writeln; writeln('iscomih slov: ',k); readln; end. А вот в преобразованном виде ниже, для моего случая. Она пишет, что 'iscomih slov: 0' Код uses crt; var f1,f2:text; a,n:string; c:char; k,i:integer; begin clrscr; write('Vvedite bukvu: '); readln(a); assign (f1,'c:\1.txt'); reset(f1); assign (f2,'c:\2.txt'); rewrite(f2); read(f1,a); n:=n+' '; while length(n)>0 do begin i:=pos(' ',n); if n[1]=a then k:=k+1; delete(n,1,i); write(f2,'Iskomix slov: ',k); end; close(f1); close(f2); end. |
klem4 |
Сообщение
#7
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата Нужно написать прогу, которая считывает из заданного текстового файла слова и записывает в новый текстовый файл только те из них, которые начинаются с указанной буквы. Чувствуется это надогло Если в исходном файле на одной строке одно слово, то вот : function CopyOnValue(var _in, _out : Text; value : char) : integer; _in и _out должны быть открыты для чтения и записи сооветственно. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
SiNaC0m |
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: SiNaC0m Репутация: 0 |
У меня похожая задача:"Нужно ввести данные в файл и если в строке есть цифры, то удвоить их".
У меня получилось сделать, только вот одна проблема: нужно, что бы цифра удваивалась подряд(например: была строка "фыв1ф" - стала"фыв11ф"), а у меня получается, что цифра добавляется в конец строки... Подскажите как добиться нужного результата: Код uses wincrt; var a,b : text; s,s1 : string; i : integer; begin assign(a,'c:\a.txt'); rewrite(a); readln(s); write(a,s); close(a); assign(b,'c:\b.txt'); reset(a); rewrite(b); while not eof(a) do begin read(a,s); for i:=1 to length(s) do begin if s[i]='1' then s1:=s+s[i]+s1; end; end; write(b,s1); close(a); close(b); end. -------------------- Мы стремимся к знаниям... вы называете нас преступниками. Мы существуем без цвета кожи, без национальности и религиозных предубеждений... вы называете нас преступниками. Вы производите атомные бомбы, разжигаете войны, убиваете, обворовываете и врете нам, пытаясь убедить в своей правоте... а мы все также остаемся преступниками.
© Mentor |
volvo |
Сообщение
#9
|
Гость |
Цитата(Koma @ 18.09.2006 8:48) У меня похожая задача: Думаешь, ответ будет другим? Ответ тоже похож: Цитата(Правила Раздела) 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! Уже решали: Строки: Удвоение букв в словах |
Текстовая версия | 11.01.2025 11:10 |