![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Kritic |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет! У меня вот огромные проблемы с одной задачей на работу с текстом.
Звучит она следующим образом: вывести на экран из введенного текста только те символы, которые встречаются в тексте один раз. Вроде задача не очень сложная, но я недогоняю. Пожалуйста, помогите, мне она уже нужна на завтра! Вот что у меня получилось пока: Код Program Lab3; Uses Crt; const ni=255; var simb_freq: array [1..ni] of integer; i: byte; ascode,longtxt: integer; txt_val:string; begin clrscr; writeln('Vvedite, pojaluista, text: '); writeln; readln(txt_val); {writeln(length(txt_val));} i:=0; simb_freq[i]:=0; repeat simb_freq[i]:=i; i:=i+1; until ni<=i; longtxt:=length(txt_val); for i:=0 to longtxt do begin ascode:=ord(txt_val[i]); writeln(ascode:2); simb_freq[ascode]:=simb_freq[ascode]+1; {writeln(simb_freq[ascode]);} end; i:=0; repeat if simb_freq[i]=1 then writeln(chr(i)); i:=i+1; until ni<=i; readln; end. ascode - хранение ASCII-кода текущего элемента строки, longtxt - длина текста, txt_val - сам текст, Последний цикл тут совсем не нужен. Короче, у меня такие были соображения: вводим текст, потом получаем ASCII-кода текущего элемента текста, далее: 1 вариант - далее делаем выборку тех символов, которые встречаются более 1 раза и после уже отсортированные заносим в массив с последующим выводом. 2 вариант - получаем Аски-коды всех элементов строки, заносим их в массив, но так, как там будут многие символы прописываться по 2 и более раз, то поставить какой-нибудь счетчик, который бы следил за каждой ячейкой, чтобы после можно было при опросе элементов массива узнать, сколько раз туда прописывался символ и если это количество равно 1, то выводить на экран. Вот такие вот соображения(может быть весь глупые ![]() Сообщение отредактировано: Kritic - 7.01.2006 18:42 |
![]() ![]() |
![]() |
Текстовая версия | 30.07.2025 8:52 |