0 / 0 / 0
Регистрация: 11.12.2019
Сообщений: 4
1

Дана строка, состоящая из слов: вывести слова, которые повторяются хотя бы один раз

23.01.2020, 14:28. Показов 1402. Ответов 3

Студворк — интернет-сервис помощи студентам
помогите исправить и доработать программу!
---------------Задание---------------------
Дана строка, состоящая из слов. Вывести слова, которые повторяются хотя бы один раз.
-------------------Программа(неправильная)-----------------
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
Program lab_7;
const n=10;
type
 mas=array[1..n] of string;
 mas2=array[1..n] of string;
procedure str(var a:mas);
 var i:integer;
 begin
  writeln('');
  for i:=1 to n do
   Readln(a[i])
 end;
procedure concl(var b:mas2);
 var i:integer;
 begin
  writeln('');
  for i:=1 to n do
  writeln(b[i])
 end;
var
 i,j:integer;
 a:mas;
 b:mas2;
 begin
 str(a);
for i:=1 to n-1 do
for j:=i+1 to n do
If a[i]=a[j] then
b[i]:=a[i];
mas2(b)
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2020, 14:28
Ответы с готовыми решениями:

Дана строка, состоящая из слов, разделенных пробелами. Вывести слова этой строки, которые отличны от последнего слова
ана строка, состоящая из слов, разделенных пробелами. Вывести слова этой строки, которые отличны от...

Дана строка, состоящая из слов. Удалить из строки все слова, в которых хотя бы одна буква встречается дважды
Delphi 6. Нужно с визуализацией, вывод результата в форму.

Дана строка символов, состоящая из произвольного текста, слова раз-делены пробелами. Вывести на экран порядковый номер слова, накрывающего k позицию
Помогите с вот такой вот задачкой: Дана строка символов, состоящая из произвольного текста,...

Дана строка текста, состоящая из слов. Слова отделяются друг от друга одним из специальных символов, которые описываются во множестве [‘-’, ‘*’, ‘/
Дана строка текста, состоящая из слов. Слова отделяются друг от друга одним из специальных...

3
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
24.01.2020, 18:18 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
var
  st:array of record
    s:string;
    c:integer;
  end;
  s,t:string;
  i,j,k:integer;
 
begin
  write('CTPOKA:');readln(s);
  s:=s+' ';
  for i:=1 to length(s) do begin
    if s[i]=' ' then begin
      k:=-1;
      for j:=0 to length(st)-1 do
        if st[j].s=t then k:=j;
      if k=-1 then begin
        k:=length(st);
        setlength(st,k+1);
      end;
        st[k].s:=t;
        inc(st[k].c);
        t:='';
     end else t:=t+s[i];
   end;
   writeln('PE3-TAT:'); 
   for j:=0 to length(st)-1 do begin
     if st[j].c>1 then writeln(st[j].s);
   end;
   readln;
end.
1
0 / 0 / 0
Регистрация: 11.12.2019
Сообщений: 4
27.01.2020, 16:25  [ТС] 3
а можно,пожалуйста,как нибудь полегче,без record
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7655 / 4494 / 2811
Регистрация: 22.11.2013
Сообщений: 12,835
Записей в блоге: 1
28.01.2020, 18:02 4
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
{ вывод повторяющихся слов }
const Blanks=[#9,#32];
var
  s, w: String;
  i, j, k, p, q, n: Integer;
begin
  Write(' Текст: '); ReadLn(s); 
  i:=1; while (i<=Length(s)) and (s[i] in Blanks) do Inc(i); Delete(s,1,i-1);
  i:=1;
  while i<=Length(s) do begin
    p:=i; while (i<=Length(s)) and not (s[i] in Blanks) do Inc(i);
    j:=i; while (i<=Length(s)) and     (s[i] in Blanks) do Inc(i);
    w:=Copy(s,p,j-p); Delete(s,j+1,i-j-1); Dec(i,i-j-1); k:=i; n:=0;
    while k<=Length(s) do begin
      q:=k; while (k<=Length(s)) and not (s[k] in Blanks) do Inc(k);
      j:=k; while (k<=Length(s)) and     (s[k] in Blanks) do Inc(k);
      Delete(s,j+1,k-j-1); Dec(k,k-j-1);
      if w=Copy(s,q,k-q-1) then begin
        Delete(s,q,k-q); Dec(k,k-q); Inc(n);
      end;
    end;
    if n=0 then begin
      Delete(s,p,i-p); Dec(i,i-p);
    end;
  end;
  if s[Length(s)] in Blanks then Delete(s,Length(s),1);
  WriteLn('Замена: ',s);
end.
Добавлено через 2 минуты
Если быть точным, это удаление неповторяющихся...
0
28.01.2020, 18:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2020, 18:02
Помогаю со студенческими работами здесь

Дана строка, состоящая из слов разделенных пробелами. Вывести на экран порядковый номер слова максмимальной дл
Подскажите как сделать. Дана строка, состоящая из слов разделенных пробелами. Вывести на экран...

Дана строка, состоящая из слов, разделенных пробелами. Вывести на экран порядковый номер слова минимальной длины и
Дана строка, состоящая из слов, разделенных пробелами. Вывести на экран порядковый номер слова...

Дана строка, состоящая из английских слов. Вывести строку, содержащую эти же слова, расположенные в алфавитном порядке
static void Main(string args) { Console.WriteLine(&quot;Введите...

Дана строка текста, состоящая из слов и чисел, разделенных пробелами, вывести самые короткие слова строки
Дана строка текста, состоящая из слов и чисел, разделенных пробелами, вывести самые короткие слова...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru