Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 3
Регистрация: 10.03.2014
Сообщений: 7
1

Найти в каждом предложении текста первое слово и вывести слова, которые состоят из тех же букв, что и первое слово

11.03.2014, 15:04. Просмотров 1338. Ответов 1
Метки нет (Все метки)


Доброго времени суток! Прошу помочь разобраться. Полностью текст задачи выглядит так:
Перечислить все слова каждого предложения, которые состоят из тех же букв, что и первое слово данного предложения. Из этих слов организовать новое предложение и записать его в конец исходного текста.

Основная проблема с поиском в каждом предложении текста. Чувствую, накосячил с операторными скобками и breakами

Прилагаю свой "код"

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var a:array[1..50] of string;
i,n,j,np,k,g,l:integer;
s,s1,s2,buf:string;
f:text;
begin
assign(f,'Night.txt');
reset(f);
while not eof(f) do begin
read(f,s);
write(s);
end;
writeln;
while pos('.',s)>0 do
begin
s1:=copy(s,1,pos('.',s)-1);
delete(s,1,pos('.',s));
if s1<>'' then
begin
inc(n);
a[n]:=s1;
end;
end;
for i:=1 to n do
writeln(A[i]);
for i:=1 to n do begin
s1:=a[i];
for j:=1 to length (s1) do begin
if s1[j]<>'' then s2:=s2+s1[j]
else begin
np:=j;
end;
for l:= np + 1 to length(s1) do
if s1[l] <> ' ' then buf := buf + s1[l] else begin
if length(buf) < length(s2) then begin
for k:= 1 to length(buf) do begin
for g:= 1 to length(s2) do
if buf[k] = s2[g] then begin
writeln(buf);
break;
end;
break;
end;
buf := '';
end
else
begin
for j := 1 to length(s2) do
begin
for g := 1 to length(buf) do
if buf[g] = s2[j] then begin
writeln(buf);
break;
end;
break;
end;
buf := '';
end;
end;
end;
end;
close(f);
end.
Заранее благодарю!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2014, 15:04
Ответы с готовыми решениями:

Вывести на экран все слова предложения, которые состоят из тех же букв, что и первое слово
Нужно вывести на экран все слова предложения, которые состоят из тех же букв, что и первое слово....

Перечислить все слова, которые состоят из тех же букв, что и первое слово
Требуется перечислить все слова заданного предложения, которые состоят из тех же букв, что и первое...

Перечислить слова предложения, которые состоят из тех же букв, что и первое слово
Символьный и строковый тип Перечислить все слова заданного предложения, которые состоят из тех же...

Перечислить все слова каждого предложения, которые состоят из тех же букв, что и первое слово
Ребят, выручайте Перечислить все слова каждого предложения, которые состоят из тех же букв, что и...

1
0 / 0 / 3
Регистрация: 10.03.2014
Сообщений: 7
25.03.2014, 22:22  [ТС] 2
Разобрался сам, вот код, может быть, кому-нибудь пригодится
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 const mnr=[' ',',','.','-','_','!','?',':',';'];
 Var A:array[1..30] of string;
    i,n,j,np,k,g,l:byte;
    s,s1,s2,buf,st:string;
    f:text;
    mnpr,mnbuf:set of char;
Begin
assign(f,'Night.txt');
reset(f);
while not eof(f) do begin
read(f,s);
write(s);
end;
writeln;
    While Pos('.',s)>0 do
    Begin
      s1:=Copy(s,1,Pos('.',s)-1);
      Delete(s,1,Pos('.',s));
      if s1<>'' then
      Begin
        inc(n);
        A[n]:=s1+'.';
      End;
    End;
    For i:=1 to n do begin
     writeln(A[i]);
     st:=st+a[i];
     end;
for i:=1 to n do begin
s1:=a[i];
for j:=1 to length (s1) do begin
if not (s1[j] in mnr) then s2:=s2+s1[j]
else
begin
np:=j;
break;
end;
end;
for k:=1 to length(s2) do begin 
if not(s2[k] in mnpr) then 
mnpr:=mnpr+[s2[k]];
end;
for l:= np + 1 to length(s1) do begin
if not(s1[l] in mnr) then begin
buf := buf + s1[l];
mnbuf:=mnbuf+[s1[l]];
end
else
begin
if mnpr=mnbuf then st:=st+buf+' ';
buf:='';
mnbuf:=[];
end;
end;
s2:='';
mnpr:=[];
end;
writeln;
write(st);
close(f);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2014, 22:22

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

Перечислить все слова заданного предложения, которые состоят из тех же букв, что и первое слово предложения
Здравствуйте! Помогите, пожалуйста решить задачку: &quot;Перечислить все слова заданного...

Перечислить все слова каждого предложения, которые состоят из тех же букв, что и первое слово данного предложения
Вечер добрый! Прошу помочь разобраться с данной задачей Перечислить все слова каждого предложения,...

Вывести все слова заданного текста, состоящие из тех же букв, что и первое слово
Заранее Большое Спасибо!!!

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

Напечатать все слова, которые состоят из тех же букв что и последнее слово текста
Прог на c++ дан текст,который заканчивается точкой.текст состоит из слов,разделенных...

Перечислить все слова заданного текста, которые состоят из тех же букв, что и последнее слово
Перечислить все слова заданного текста, которые состоят из тех же букв, что и последнее слово.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.