Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/48: Рейтинг темы: голосов - 48, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 8
1

Определить, есть ли в тексте заданное слово

21.08.2012, 20:41. Показов 10077. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу сделать без ошибок и все тут(
Выручайте...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2012, 20:41
Ответы с готовыми решениями:

Определить, сколько раз в тексте встречается заданное слово
всем привет!) народ помогите поааалуйста а то голова не варит: сколько раз в тексте встречается...

Определить, сколько раз в тексте встречается заданное слово
дан текст с клавиатуры. определить сколько раз в тексте встречается данное слово. учесть тот факт,...

Определить, есть ли в тексте заданное слово
6. Создать текстовый файл. Вывести его на экран. Определить, есть ли в тексте заданное слово .

Определить, есть ли в тексте заданное слово
Задача 2.Требования: -Решение реализовать в виде подпрограмм. -Исходные данные брать из...

19
296 / 274 / 194
Регистрация: 03.05.2012
Сообщений: 570
21.08.2012, 20:49 2
Цитата Сообщение от Даша Мат.фак Посмотреть сообщение
Не могу сделать без ошибок и все тут(
Выручайте...
Покажи свой код с ошибкой,а мы подскажем как исправить.
1
Mobile Software Engineer
Эксперт С++
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
21.08.2012, 21:24 3
Цитата Сообщение от Даша Мат.фак Посмотреть сообщение
Определить, есть ли в тексте заданное слово
Сколько раз в тексте встречается заданное слово
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.08.2012, 21:28 4
Ev[G]eN, Думаю ссылка неудачная. Слова могут разделяться не только пробелами, слова могут переноситься, да и файл читать нужно. Кроме того не нужно проверять все слова, а только найти первое.
0
Фрилансер
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,587
Записей в блоге: 1
22.08.2012, 09:03 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
Var f:text;
    s,s1,s2:string;
    b:boolean;
    i:byte;
Begin
    Assign(f,'c:\in.txt');Reset(f);
    write('Введите слово: ');readln(s2);
    s1:='';b:=false;
    While not Eof(f) do
     Begin
      readln(f,s);
      writeln(s);
      s:=s+' ';
      For i:=1 to Length(s) do
       if not (s[i] in [' ','.','-',':',';','!','?']) then s1:=s1+s[i]
        else 
         Begin
          if s2=s1 then b:=true;
          s1:='';
         End;
     End;
    if b then writeln('В файле есть такое слово')
     else writeln('Нету такого словав файле');
    readln;
End.
Файл in.txt должен быть создан и заполнен в корне диска C:\
1
296 / 274 / 194
Регистрация: 03.05.2012
Сообщений: 570
22.08.2012, 11:40 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Мой вариант:
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
var f:text;s,st:string;
    n:integer;
begin
  assign(f,'textfile.txt');
  reset(f);
  while not eof(f) do begin
    readln(f,s);
    writeln(s);
  end;
  writeln('введите искомое слово');
  readln(st);
  reset(f);
  while not eof(f) do begin
    readln(f,s);
    n:=pos(st,s);
    if n>0 then begin
      writeln('есть такое слово в тексте');
      break;
    end;
  end;
  if n=0 then writeln('нет такого слова в тексте');
  close(f);
  readln
end.
0
Фрилансер
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,587
Записей в блоге: 1
22.08.2012, 11:42 7
Paster Fob, а теперь создай файл текстовый, набери туда
Runtime exe
Потом введи искомое слово в Run и прога напишет что есть такое слово хотя его нету...
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.08.2012, 11:42 8
Pascal
1
 n:=pos(st,s);
Например сторока
сторож из столицы
ищем слово сто
Есть оно в этой строке?
0
Viktorya_rb
22.08.2012, 15:53 9
Да, в предыдущей программе оно будет считаться за слово!

Вот правильный код:
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
var f:text;s,st:string;
    n:integer;
begin
  assign(f,'1.txt');
  reset(f);
  while not eof(f) do begin
    readln(f,s);
    writeln(s);
  end;
  writeln('введите искомое слово');
  readln(st);
  reset(f);
  while not eof(f) do begin
    readln(f,s);
    n:=pos(st,s);
    if (n>0) and (s[n-1]=' ') and (s[n+length(st)+1]=' ') then
    begin
    writeln('есть такое слово в тексте');
    break;
    end
    else writeln('слово отсутствует');
    end;
    if n=0 then writeln('нет такого слова в тексте');
  close(f);
  readln
end.
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
22.08.2012, 16:32 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

как вариант до кучи =)
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
uses crt;
const pr=[' ','.',',',':',';','-','!','?'];
var f: text;
    s,sl: string;
    b: boolean;
    i: byte;
begin
assign(f,'D:\in.txt');
reset(f);
write('Слово: '); readln(sl);
b:=false;
while not eof(f) do
      begin
      readln(f,s); writeln(s);
      s:=' '+s+' ';
      if not b then
         begin
         for i:=1 to length(s) do
             if (copy(s,i,length(sl))=sl) and (s[i-1] in pr)
             and (s[i+length(sl)] in pr) then b:=true;
         end;
      end;
close(f);
if b then writeln('Слово есть в файле') else writeln('Слова нет в файле');
end.
1
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 8
22.08.2012, 19:05  [ТС] 11
Проект project1.exe вызвал класс исключения 'RunError(2)'

В чем проблема?

ps: мне нужно создать файл, а не привязать его...


Голова пухнет уже..все переделать пыталась, ничего не выходит(
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.08.2012, 19:11 12
Цитата Сообщение от Даша Мат.фак Посмотреть сообщение
Проект project1.exe вызвал класс исключения 'RunError(2)'
Если нужно в Делфи, то туда бы и писали, а здесь Паскаль.
0
Фрилансер
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,587
Записей в блоге: 1
22.08.2012, 20:59 13
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Даша Мат.фак Посмотреть сообщение
Проект project1.exe вызвал класс исключения 'RunError(2)'
В чем проблема?
ps: мне нужно создать файл, а не привязать его...
Голова пухнет уже..все переделать пыталась, ничего не выходит(
Сразу надо говорить...
Delphi
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
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
Var f:text;
    s,s1,s2:string;
    b:boolean;
    i:byte;
Begin
    Assign(f,'c:\in.txt');Rewrite(f);
    Repeat
     write('Vvedite stroku texta(okonchanie vvoda,vvod pustoi stroki): ');readln(s);
     if s<>''then writeln(f,s);
    Until s='';
    Close(f);
    write('Vvedite slovo: ');readln(s2);
    Assign(f,'c:\in.txt');Reset(f);
    s1:='';b:=false;
    While not Eof(f) do
     Begin
      readln(f,s);
      writeln(s);
      s:=s+' ';
      For i:=1 to Length(s) do
       if not (s[i] in [' ','.','-',':',';','!','?']) then s1:=s1+s[i]
        else 
         Begin
          if s2=s1 then b:=true;
          s1:='';
         End;
     End;
    if b then writeln('V faile est" takoe slovo')
     else writeln('V faile net takogo slova');
    Close(f);
    readln;
end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.08.2012, 21:01 14
Artem7, Она уже создала тему в разделе Lazarus.
Создать текстовый файл. Вывести его на экран. Определить, есть ли в тексте заданное слово
0
Фрилансер
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,587
Записей в блоге: 1
22.08.2012, 21:11 15
Puporev, а Lazarus идентичен Delphi?мой код там от компилируется?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.08.2012, 21:21 16
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Artem7, Я там не знаю есть ли консоль, а с формой точно как в Делфи.

Добавлено через 2 минуты
Да, есть консоль, сейчас проверю код.

Добавлено через 5 минут
Проверил, все работает, ничего не исправлял, только для красоты здесь
Pascal
1
writeln('Vvedite stroku texta(okonchanie vvoda,vvod pustoi stroki): ');readln(s);
а то строку нужно вводить на краю...

Добавлено через 43 секунды
Выглядит это так.
Delphi
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
program Project1;
 
{$mode objfpc}{$H+}
 
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, SysUtils, CustApp
  { you can add units after this };
 
type
 
  { TMyApplication }
 
  TMyApplication = class(TCustomApplication)
  protected
    procedure DoRun; override;
  public
    constructor Create(TheOwner: TComponent); override;
    destructor Destroy; override;
    procedure WriteHelp; virtual;
  end;
 
{ TMyApplication }
 
procedure TMyApplication.DoRun;
var
  ErrorMsg: String;
begin
  // quick check parameters
  ErrorMsg:=CheckOptions('h','help');
  if ErrorMsg<>'' then begin
    ShowException(Exception.Create(ErrorMsg));
    Terminate;
    Exit;
  end;
 
  // parse parameters
  if HasOption('h','help') then begin
    WriteHelp;
    Terminate;
    Exit;
  end;
 
  { add your program here }
 
  // stop program loop
  Terminate;
end;
 
constructor TMyApplication.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  StopOnException:=True;
end;
 
destructor TMyApplication.Destroy;
begin
  inherited Destroy;
end;
 
procedure TMyApplication.WriteHelp;
begin
  { add your help code here }
  writeln('Usage: ',ExeName,' -h');
end;
 
var
  Application: TMyApplication;
 
{$R *.res}
Var f:text;
    s,s1,s2:string;
    b:boolean;
    i:byte;
begin
  Application:=TMyApplication.Create(nil);
  Application.Title:='My Application';
  Application.Run;
  Application.Free;
 Assign(f,'c:\in.txt');Rewrite(f);
    Repeat
     writeln('Vvedite stroku texta(okonchanie vvoda,vvod pustoi stroki): ');readln(s);
     if s<>''then writeln(f,s);
    Until s='';
    Close(f);
    write('Vvedite slovo: ');readln(s2);
    Assign(f,'c:\in.txt');Reset(f);
    s1:='';b:=false;
    While not Eof(f) do
     Begin
      readln(f,s);
      writeln(s);
      s:=s+' ';
      For i:=1 to Length(s) do
       if not (s[i] in [' ','.','-',':',';','!','?']) then s1:=s1+s[i]
        else
         Begin
          if s2=s1 then b:=true;
          s1:='';
         End;
     End;
    if b then writeln('V faile est" takoe slovo')
     else writeln('V faile net takogo slova');
    Close(f);
    readln;
end.
0
Фрилансер
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,587
Записей в блоге: 1
22.08.2012, 21:27 17
Puporev, спасибо, да на счёт строки не заметил...
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.08.2012, 21:31 18
Не смотри что кода много, все что кроме твоего создано автоматом.
0
Фрилансер
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,587
Записей в блоге: 1
22.08.2012, 21:32 19
Puporev,

Не по теме:

вот это да...вот тебе и Lazarus с консолью

0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.08.2012, 21:36 20
Так он и с формой такой страшный, это же по сути Free Pascal с наворотами...
0
22.08.2012, 21:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2012, 21:36
Помогаю со студенческими работами здесь

Создать текстовый файл. Вывести его на экран. Определить, есть ли в тексте заданное слово
Создать текстовый файл. Вывести его на экран. Определить, есть ли в тексте заданное слово

Обработка текстовой информации. - Дан текст. Заменить в тексте ЗАДАННОЕ(1) слово на ЗАДАННОЕ(2) слово
Задание: Дан текст. Заменить в тексте ЗАДАННОЕ(1) слово на ЗАДАННОЕ(2) слово. В ниже...

Определить сколько раз в тексте встречается заданное слово
Дан текст. Определить сколько раз в нем встречается ЗАДАННОЕ слово. ПОМОГИТЕ ДОРЕШАТЬ , ПОЖАЛУЙСТА...

Определить сколько раз встречается в тексте заданное слово
Сколько раз встречается введенное с клавиатуры слово в тексте который вводиться с клавиатуры, вот...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru