![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
LoveУшка |
![]()
Сообщение
#1
|
Гость ![]() |
Вот задачка, чувствую, что элементарная, но с паскалем у меня война((((
Напечатать заданный текст длиной от 1 до 100 символов, удалив из него повторные вхождения каждого символа. Заранее спасибо. Если можно, побыстрее))) |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Тогда можно сделать так:
Код uses crt; var i: byte; chars: array[1 .. 100] of char; ch: char; total, iChar: integer; found: boolean; begin writeln('string:>'); iChar := 1; repeat ch := readkey; inc(total); if total > 100 then begin writeln(#10#13'Строка длиной более 100 символов...'); exit end; if ch = #13 then break; write(ch); found := false; for i := 1 to iChar do if chars[i] = ch then begin found := true; break; end; if not found then begin chars[iChar] := ch; inc(iChar); end; until false; writeln; for i := 1 to pred(iChar) do write(chars[i]); writeln; end. Сообщение отредактировано: volvo - 21.10.2004 19:46 |
![]() ![]() |
![]() |
Текстовая версия | 4.07.2025 19:09 |