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

Удалить из строки повторные вхождения слов

13.03.2017, 10:07. Показов 4283. Ответов 2

Студворк — интернет-сервис помощи студентам
Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв, между соседними словами - запятая, за последним словом - точка. Введите ту же последовательность, но удалив из неё повторные вхождения слов.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2017, 10:07
Ответы с готовыми решениями:

Напечатать последовательность слов, не удалив из нее повторные вхождения слов
дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 прорисных латинских букв, между соседними словами -...

Удалить повторные вхождения для соседних элементов в массиве
Дано: массив целых чисел. Требуется преобразовать его следующим образом: Заменить одинаковые элементы, расположенные в соседних ячейках...

Удалить из текста повторные вхождения слов
из данного текста удалить повторные вхождения слов

2
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
13.03.2017, 10:19
Лучший ответ Сообщение было отмечено skorp-zed как решение

Решение

Код отсюда
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
Const m=[' ','.','!','?'];
Var s,s1,s2:string;
    A:array[1..30] of string;
    i,k:byte;
Function Proverka(s:string;k:byte):boolean;
Var i:byte;
    b:boolean;
Begin
    b:=true;
    For i:=1 to k do
     if A[i]=s then b:=false;
    Proverka:=b;
End;
Begin
    write('Введите предложение: ');readln(s);
    k:=0;s:=s+' ';s1:='';s2:='';
    For i:=1 to Length(s) do
     if not(s[i] in m) then s1:=s1+s[i]
      else
      Begin
        if Proverka(s1,k) then
        Begin
          s2:=s2+s1+s[i];
          inc(k);
          A[k]:=s1;
        End;
        s1:='';
      End;
    writeln(s2);
    readln;
End.
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
15.03.2017, 10:04
Hitoku,
можно нормализовать строку до одинаковых одиночных разделителей ",слово1,слово2,...,словоN,", а проверку на повторность выполнять при помощи Pos(','+s1+',',s)=i-1-Length(s1).

Добавлено через 11 минут
Примерно так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const
  Delims=[' ',',',';',':','.','!','?'];
  Delim=' ';
var
  s, t: String;
  i: Integer;
begin
  Write('S: '); ReadLn(s); s:=Delim+s+Delim;
  for i:=Length(s)-1 downto 1 do
    if s[i] in Delims then
      if s[i+1] in Delims
      then Delete(s,i,1) 
      else s[i]:=Delim;
  for i:=1 to Length(s) do
    if not (s[i] in Delims) then t:=t+s[i]
    else begin
      if Pos(Delim+t+Delim,s)=i-Length(t)-1 then Write(t,Delim);
      t:='';
    end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.03.2017, 10:04
Помогаю со студенческими работами здесь

Удалить из строки все повторные вхождения символов
Удалить из строки все повторные вхождения символов

Удалить все повторные вхождения элементов в строке
Пришлось чуть продублировать вопрос. Есть код: Type Tinf=char; List=^TList; TList=record data:TInf; ...

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

Удалить из строки повторные вхождения слов
Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 прописных латинских букв; между соседними словами -...

Удалить повторные вхождения слов в предложение
Дан файл, содержащий текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз (предложение заканчивается...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru