Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 23.02.2018
Сообщений: 30

Вывести на экран все слова, которые встречаются в последовательности только один раз

23.02.2018, 12:43. Показов 3048. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У тексті поміж словами розташована кома, за останнім словом - крапка. Вивести на екран усі слова, що зустрічаються в послідовності лише один раз. Помогите сделать, очень нужно!Можно сразу готовую программу!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.02.2018, 12:43
Ответы с готовыми решениями:

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

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

Вывести на экран слова, которые встречались в последовательности только 1 раз

8
23.02.2018, 12:50
 Комментарий модератора 
Перепишите задание на русском или английском языке, не нарушайте правила форума.
0
 Аватар для FreudeMan
108 / 95 / 45
Регистрация: 12.09.2017
Сообщений: 1,127
23.02.2018, 15:16
Собственно текст задания для понятности:

В тексте между словами расположена запятая, за последним словом - точка. Вывести на экран все слова, которые встречаются в последовательности только один раз. Помогите сделать, очень нужно! Можно сразу готовую программу!
0
23.02.2018, 16:18

Не по теме:

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

0
 Аватар для FreudeMan
108 / 95 / 45
Регистрация: 12.09.2017
Сообщений: 1,127
23.02.2018, 16:20
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
var a : array [1..100] of string;
    s, slovo : string;
    i, j, k : integer;
    b, c : boolean;
begin
  Write('Введите текст: ');
  Readln(s);
  c:=false;
  for i:=1 to Length(s) do
  begin
    if c=true then break;
    if (s[i]<>',') and (s[i]<>' ') and (s[i]<>'.')
    then slovo:=slovo+s[i]
    else begin
      for j:=1 to 100 do
      begin
        if a[j]=slovo
        then begin
          b:=true;
          break;
        end;
      end;
      for k:=1 to 100 do
      begin
        if (b=false) and (a[k]='')
        then begin
          a[k]:=slovo;
          slovo:='';
          break;
        end;
        if b=true then break;
      end;
      if s[i]='.' then c:=false;
    end;
  end;
  for i:=1 to 100 do Write(a[i],' ');
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
25.02.2018, 08:47
FreudeMan,
Так все-таки что нужно, вывести слова не более 1 раза или вывести слова, встречающиеся 1 раз? Это не одно и то же. Решена не та задача. Тем не менее, по той что решена, есть что сказать.

Если хранить количество слов, беготню по a можно подсократить.
if b=True then => if b then
if b=False then => if not b then

В цикле 15-22 можно сразу сказать, куда добавлять слово, цикл 23-30 напраснаятрата времени.

11 выкинуть, в 33
Pascal
33
if s[i]='.' then Break;
Добавлено через 3 минуты
12 - условие можно переписать так:
Pascal
1
  if not (s[i] in [' ',',','.']) then
Перечень разделителей слов можно положить в именованную константу.

Добавлено через 8 минут
Pascal
15
16
17
18
19
20
21
22
      for j:=1 to 100 do
        if a[j]=slovo then
          Break
        else if a[j]='' then begin
          a[j]:=slovo;
          Break;
        end;
      slovo:='';
Очистка slovo должна быть на каждом разделителе, а не только на новых словах.

Добавлено через 24 минуты
Итого в сухом остатке
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const Delims=[' ',',','.']; n=100;
var
  a: array [1..n] of String;
  i, j: Integer;
  s, w: String;
begin
  Write('Введите текст: ');
  Readln(s);
  for i:=1 to Length(s) do begin
    if not (s[i] in Delims) then
      w:=w+s[i]
    else begin
      for j:=1 to n do
        if a[j]=w then Break
        else if a[j]='' then begin
          a[j]:=w; Break;
        end;
        w:='';
      end;
      if s[i]='.' then Break;
    end;
  for j:=1 to n do if a[j]<>'' then Write(' ',a[j]) else Break;
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
25.02.2018, 09:00
Теперь к исходной задаче.

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
const Delims=[' ',',','.']; n=100;
var
  a: array [1..n] of String;
  b: array [1..n] of Integer;
  i, j: Integer;
  s, w: String;
begin
  Write('Введите текст: ');
  Readln(s);
  for i:=1 to Length(s) do begin
    if not (s[i] in Delims) then
      w:=w+s[i]
    else begin
      for j:=1 to n do
        if a[j]=w then begin
          Inc(b[j]); Break;
        end else if a[j]='' then begin
          a[j]:=w; b[j]:=1; Break;
        end;
        w:='';
      end;
      if s[i]='.' then Break;
    end;
  for j:=1 to n do
    case b[j] of
      0: Break;
      1: Write(' ',a[j]);
    end;
end.
Добавлено через 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 Delims=[' ',',','.']; n=100;
var
  a: array [1..n] of record c: Integer; s: String; end;
  i, j: Integer;
  s, w: String;
begin
  Write('Введите текст: ');
  Readln(s);
  for i:=1 to Length(s) do begin
    if not (s[i] in Delims) then
      w:=w+s[i]
    else begin
      for j:=1 to n do
        if a[j].s=w then begin
          Inc(a[j].c); Break;
        end else if a[j]='' then begin
          a[j].s:=w; a[j].c:=1; Break;
        end;
        w:='';
      end;
      if s[i]='.' then Break;
    end;
  for j:=1 to n do
    case a[j].c of
      0: Break;
      1: Write(' ',a[j].s);
    end;
end.
0
 Аватар для FreudeMan
108 / 95 / 45
Регистрация: 12.09.2017
Сообщений: 1,127
25.02.2018, 19:25
Спасибо за анализ моего кода Буду пытаться в следующий раз писать программу оптимальней.
Цитата Сообщение от bormant Посмотреть сообщение
Так все-таки что нужно, вывести слова не более 1 раза или вывести слова, встречающиеся 1 раз? Это не одно и то же.
А в чём же разница? Что-то я не очень понял.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
25.02.2018, 20:24
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Цитата Сообщение от FreudeMan Посмотреть сообщение
А в чём же разница? Что-то я не очень понял.
Строка: aa bb cc bb aa
Вывести слова не более 1 раза: aa bb cc (просто отбросили дубликаты).
Вывести слова, встречающиеся 1 раз: cc (aa и bb встречаются более 1 раза и не попадают под условие задачи).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2018, 20:24
Помогаю со студенческими работами здесь

Вывести только те символы, которые встречаются в тексте только один раз
Из заданного текста предложения выберите и выведите на экран только те символы, которые встречаются в нем только один раз (в том порядке, в...

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

Напечатать слова, которые встречаются в предложениях только 1 раз
Ребята! Такая задача - Даны 2 предложения.Напечатать слова, которые встречаются в предложениях только 1 раз Задачу нужно...

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

Выбрать из файла только те символы, которые встречаются в нём один раз
Задание: Дан файл,содержащий текст на русском языке,выбрать из него только те символы, которые встречаются только один раз, в том...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru