Множество, вывод букв по порядку [Доработать] - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дан текст. Вывести в алфавитном порядке все буквы текста, входящие в него не менее двух раз. Текст считывать из txt файла. Кол-во строк и их длина не известны. Я вот так решил, но у меня он не запускает чего-то не хватает !
Кто нибудь ответит

Решение задачи: «Множество, вывод букв по порядку [Доработать]»

textual
Листинг программы
Program zadacha2;
 var
   a, b : set of char;
   i : integer;
   s : string;
   ch : char;
   f:text;
 begin
 assign(f,'F:/test.txt'); //файл текстовый
 reset(f);
 a:= [];
 b:= [];
  While not eof(f) do
   begin
    readln(f,s); //строки читает readln, не read
    For i:=1 to length(s) do
    If s[i] in a Then b:=b+[s[i]] Else a:=a+[s[i]];
   end;
 close(f);
 writeLn('Буквы которые повторяются 2 и более раз: ');
 {Буквы повторяются более 1 раза >=2}
 for ch:='a' to 'я' do
 if ch in b then write(ch,',');
end.

Объяснение кода листинга программы

Этот код написан на языке Pascal ABC и выполняет следующие действия:

  1. Объявляет переменные: a, b, i, s, ch, f.
  2. Устанавливает файл для чтения и записи в директорию F:/test.txt.
  3. Инициализирует пустые множества a и b.
  4. В цикле while считывает строку из файла до конца файла.
  5. В цикле for проверяет каждый символ в строке.
  6. Если символ уже присутствует в множестве a, то добавляет его в множество b.
  7. Если символ не присутствует в множестве a, то добавляет его в множество a.
  8. После завершения цикла while закрывает файл.
  9. Выводит на экран буквы, которые повторяются более 1 раза.
  10. Вложенный цикл for перебирает все буквы от 'a' до 'я' и проверяет, есть ли они в множестве b.
  11. Если буква присутствует в множестве b, то выводит ее на экран, разделенной запятой.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы