Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55

вывод текста, выкидывая из него введенное слово

18.02.2009, 00:10. Показов 3577. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Прошу пожалуйста мне помочь с написанием это программы. По внешнему виду задания могу сказать, что она не сложная и не отнимет у вас много времени. Всем заранее спасибо)

Условие:

Ввод данных осуществляется из файла с расширением .DAT.
Использовать ТОЛЬКО библиотечные функции ввода/вывода СИМВОЛА.
Исходный текст и результат работы программы выводятся на экран.
Нельзя использовать библиотечные функции работы со строками(словами)!
Обработка текста должна вестись посимвольно!

Задание:

С помощью текстового редактора QC ( либо любого другого, использующего кодировку MS-DOS ) создать файл, содержащий текст, длинна которого не превышает 700 символов ( длинна строки текста не должна превышать 70 символов ).
Имя файла должно иметь расширение .DAT.
Написать программу, которая:
1) Выводит текст на экран дисплея;
2) Выводит текст на экран дисплея еще раз, выкидывая из него заданное слово, введенное с клавиатуры.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2009, 00:10
Ответы с готовыми решениями:

Надо слова текста заканчивающиеся той же буквой,что и введенное слово заменить введенным словом.
Есть текст в котором есть пробелы и отдельное какое-то слово.Надо слова текста заканчивающиеся той же буквой,что и введенное слово заменить...

Удалить из текста все буквы, которые входят во введенное слово.
Помогите решить задачу Вот задача как основа Var St: string; z:string; x:string; i: integer; Begin Write('введите строку...

Чтение текста из файла и вывод на экран только предложений, содержащих введенное слово
Написать программу, которая считывает из текст файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.

12
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
18.02.2009, 13:55
выкидывая из него заданное слово,
Какими критериями определяется группа символов как слово?

Добавлено через 23 минуты 55 секунд
Использовал редактор TextEncoder. Написал несколько строк, перекодировал в DOS, сохранил с расширением *dat.
Если не использовать признаки начала и конца слова, о которых в задании ничего нет, а просто удалять группы символов, соответствующие заданному слову, то я написал так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses crt;
var f:file of char;{типизированный символьный файл}
    t,s:array[1..700] of char;{символьные массивы текст и слово}
    nt,ns,i,k,j,l:word;{длины массивов и счетчики циклов}
begin
clrscr;
assign(f,'text2.dat');{связываем переменную с файлом}
reset(f);{открываем для чтения}
nt:=0;
while not eof(f) do
  begin
    inc(nt);
    read(f,t[nt]);{читаем посимвольно в массив}
    write(t[nt]);{выводим на экран - задание №1}
  end;
writeln;
close(f);{закрываем файл}
writeln('Vvedite slovo dlya poiska:');
write('Dlina slova ns=');
readln(ns);
for i:=1 to ns do
read(s[i]);{вводим посимвольно слово, лучше через repeat, но не смог сходу придумать признак окончания ввода, может кто поправит}
readln;
for i:=1 to nt do {идем по тексту}
if t[i]=s[1] then {если нашли первый символ слова}
  begin
    k:=0;
    for j:=2 to ns do {проверяем еще подряд на 1 меньше}
    if t[i+j-1]=s[j] then inc(k);{совпадающие считаем}
    if k=ns-1 then {если все совпали}
    for l:=i to nt-ns do {от первого совпавшего до конец минус длина слова}
    t[l]:=t[l+ns];{сдвигаем все элементы массива влево на длину слова}
    dec(nt,ns);{уменьшаем размер массива}
  end;
for i:=1 to nt do
write(t[i]);{выводим результат посимвольно - задание №2}
readln
end.
2
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
18.02.2009, 21:52  [ТС]
Как классно написано)) спасибо_)) вообще рассчитывал, что программа поменьше будет)) спасибо) ОГРОМНОЕ СПАСИБО,Гуру Puporev)
а еще вопрос такой можно - можно в начало программы добавить кусок кода, что при работе с программой нужно было самому указывать путь к файлу text2.dat? это не совсем обязательно, но было бы в тему, заранее спасибо))
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
18.02.2009, 22:16
Нарушаем чистоту эксперимента, появляется ненавистное слово string.
Pascal
1
2
3
4
5
6
7
8
9
var f:file of char;
    t,s:array[1..700] of char;
    nt,ns,i,k,j,l:word;
    fname:string;
begin
clrscr;
write('Vvedite imya faila:');
readln(fname);
assign(f,fname);{типизированный символьный файл}
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
19.02.2009, 02:29  [ТС]
интересные у вас эксперименты) результат неожиданно для меня приятный) спасибо, очень большое спасибо)
0
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
20.02.2009, 11:17  [ТС]
Оказывается, эту программу нужно сделать без использования массивов... в этом сможете мне помочь, пожалуйста?)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.02.2009, 11:25
Оказывается, эту программу нужно сделать без использования массивов..
Если Вы меня научите как можно записать слово, не используя строковый тип и символьные массивы, то пожалуйста.
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
20.02.2009, 14:01  [ТС]
тоесть другими путями сделать точно никак нельзя?) хм.. ну все-равно, спасибо большое
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.02.2009, 14:11
Может и можно, просто я не знаю, как можно хранить слово в памяти другими способами.
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
20.02.2009, 15:19  [ТС]
Это немного печально, но все же спасибо за решение тем способом, которым вы решили)
0
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
24.02.2009, 16:59  [ТС]
В общем поговорил я тут с человеком, он сказал концепцию создания этой программы без массивов. Вот такой вот способ:

получаешь от пользователя слово, записываешь его в файл word.dat (подсчитав количество символов в слове в какую-нибудь константу, допустим scount), Приравниваешь временный счётчик tcount к scount. читаешь текст посимвольно из text.dat, попутно сравнивая текущий символ с первым символом из word.dat, если совпал —*уменьшаешь tcount на единицу, запоминая номер символа (предполагая что это первый символ искомого слова). Если совпал следующий символ — ещё уменьшаешь на единицу, если не совпал возвращаешь счётчик tcount опять к значению tcount, сбрасываешь позицию. И так далее.. Если tcount дошёл до нуля — вуаля —*запоминаем номер этого символа, он является последним символом искомого

можно же заместо массивов использовать файлы

можно создать файл типа positions.dat и хранить там начальные и конечные позиции этого слова в тексте, например в таком формате: 10|20 55|77


вот... теперь идеи будут, как программу без массивов сделать? поможете, пожалуйста?))
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.02.2009, 17:02
А нафига мне, извините, идеи? Это Вам они нужны. Чем мог, помог. Не получилось? Так тоже не беда. Я же Вам не подряжался. Иногда просто поражает упорство в получении халявы.
0
1 / 1 / 0
Регистрация: 18.05.2009
Сообщений: 3
18.05.2009, 19:55
здравствуйте, можете подсказать, как можно удалить определенное слово из введенного текста, я пробовала на основе предыдущей программы, но что-то не получается =(((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2009, 19:55
Помогаю со студенческими работами здесь

Считывание текста из файла и вывод на экран только предложения содержащие введенное с клавиатуры слово
Помогите пожалуйста с написанием программы:написать программу которая считывает текст из файла и выводит на экран только предложения...

Считывание текста из файла и вывод на экран только предложения, содержащие введенное с клавиатуры слово
Здравствуйте.Если у кого-то будет свободная минутка помогите пожалуйста. Было дано задание "Написать программу, которая считывает...

Вывод всех строк,содержащих введенное слово
У меня есть форма и на ней есть 2 текстбокса. В один я ввожу строку для поиска,а во вторую выводится сообщение о содержании данной строки в...

Вывод на печать только предложения, содержащие дополнительно введенное слово
Помогите написать программу. Я не понял вообще смысла слов "содержащие дополнительно введенное слово." Вот. Прошу помощи. Задание:...

Ввести строку и слово. Вставить введенное слово за пятым словом в строке
Помогите ребят. Нужно написать программу на С++ без использования библиотек <ctype.h>, <string.h> или <stdlib.h>. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru