Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 09.03.2016
Сообщений: 54

Построить множество символов, встречающихся в строке ровно 2 раза

09.03.2016, 16:53. Показов 1668. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводится строка. Пройдя по данной строке 1 раз (без вложенных циклов) построить множество символов, встречающихся в ней ровно 2 раза.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2016, 16:53
Ответы с готовыми решениями:

Построить множество символов в строке, встречающихся в ней ровно 2 раза
вводится строка.пройдя по данной строке 1 раз(без вложенных циклов) построить множество символов,встречающихся в ней ровно 2 раза.

Вставить в строке знак «!» после символов, принадлежащих множеству и встречающихся в строке 2 раза
3)Дана строка и множество символов. Вставить в строке знак «!» после символов, принадлежащих множеству и встречающихся в строке 2 раза.

Построить множество из встречающихся в тексте символов от E до N
Дана непустая последовательность символов (в строке) Построить и написать множества, элементами которых является встречающиеся в...

6
Модератор
10427 / 5713 / 3404
Регистрация: 17.08.2012
Сообщений: 17,373
10.03.2016, 01:08
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 s, c: string;
    t: char;
    i: byte;
    m, n: set of char;
begin
  writeln('Enter string:');
  readln(s);
  m := [];
  n := [];
  for i := 1 to length(s) do
    if s[i] in n
      then exclude(m, s[i])
      else if s[i] in m
        then include(n, s[i])
        else include(m, s[i]);
  writeln('Set of the symbols which are found in string exactly on two times:');
  c := '';
  write('[');
  for i := 0 to 255 do
    begin
      t := char(i);
      if (t in m) and (t in n)
        then begin
          write(c);
          if length(c) = 0 then c := ', ';
          write(t)
        end
    end;
  write(']');
  readln
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
10.03.2016, 01:21
Cyborg Drone,
в лишнем преобразовании нет особого смысла:
Pascal
19
20
  for t:=#0 to #255 do
    if (t in m) and (t in n) then begin
Добавлено через 5 минут
Смысл в том мог бы быть, если использовать для вывода пару циклов, первый для вывода только первого значения без лидирующей запятой, второй -- для вывода всех остальных значений с лидирующей запятой. Целая переменная избавила бы от проверки на #255 перед вторым циклом.
1
Модератор
10427 / 5713 / 3404
Регистрация: 17.08.2012
Сообщений: 17,373
10.03.2016, 01:38
А, не сообразил. Спать пора, наверное... Можно вывод чуть попоганее сделать, выкинуть переменную c, и программа упростится:
Pascal
16
17
18
19
20
21
22
23
  writeln('Set of the symbols which are found in string exactly on two times:');
  if m * n = []
    then write('Empty set')
    else for t := #0 to #255 do
      if (t in m) and (t in n)
        then write(t, ' ');
  readln
end.
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
10.03.2016, 05:45
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  m:set of char;
  c:array[char] of byte;
  i:integer;
  s:string;
begin
  write('Enter string>');
  readln(s);
  m:=[];
  for i:=1 to length(s) do begin
    inc(c[s[i]]);
    if c[s[i]]=2 then Include(m,s[i]) else if c[s[i]]>2 then Exclude(m,s[i]);
  end;
  write('Set:[');
  for i:=0 to 255 do
    if chr(i) in m then write(#32+chr(i));
  writeln(']');
end.
0
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
10.03.2016, 07:43
А разве в ТР не работает конструкция
Pascal
1
for cc in m do write(cc);
где
Pascal
1
сс:char;
?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
10.03.2016, 07:51
capricornus CF,
нет, циклов for in в TP нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2016, 07:51
Помогаю со студенческими работами здесь

Дана строка символов. Построить множество гласных символов, которые встречаются больше одного раза.
1. Дано строку символов. Построить множество гласных символов, которые встречаются больше одного раза. 2. Создать модуль в котором есть...

Программа, которая считает количество парных(встречающихся 2 раза) символов в строке
Напишите программу, которая считает количество парных символов в строке. Вот программа которая считает длину строки, количество пробелов и...

Удаление из массива всех элементов, встречающихся ровно два раза
Дан целочисленный массив размера N. Удалить из массива все эле-менты, встречающиеся ровно два раза, и вывести размер полученного мас-сива и...

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

Найти максимальное из чисел, встречающихся в заданной матрице ровно два раза
Найти максимальное из чисел, встречающихся в заданной двумерной матрице матрице ровно два раза. a=,]


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
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 и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru