IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Удалить повторяющиеся символы из массива., Элементарная задача, помогите, пожалуста
LoveУшка
сообщение 20.10.2004 18:38
Сообщение #1


Гость






Вот задачка, чувствую, что элементарная, но с паскалем у меня война((((

Напечатать заданный текст длиной от 1 до 100 символов, удалив из него повторные вхождения каждого символа.

Заранее спасибо. Если можно, побыстрее)))
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 21.10.2004 19:36
Сообщение #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
 К началу страницы 
+ Ответить 

Сообщений в этой теме
LoveУшка   Удалить повторяющиеся символы из массива.   20.10.2004 18:38
volvo   var  s: string;  i: byte;  chars: set of char...   20.10.2004 19:09
GoodWind   volvo, молодец ! Слово в слово то, что я собир...   20.10.2004 19:20
LoveУшка   Большое спасибо! Спасибо! Спасибо! Даж...   20.10.2004 19:32
volvo   Вот... Но она менее красива, чем первая... :) v...   20.10.2004 20:01
LoveУшка   Ну а что делать, не все что красивое нужно((((.. С...   20.10.2004 20:11
Altair   хех.   20.10.2004 20:27
Shaddix   Люди тут добрые:) Это я уже давно понял. Всем помо...   20.10.2004 21:46
Ш. Нелль   А вот может быть такая же задача, но используя тол...   21.10.2004 18:41
volvo   Что значит без строк? имеется в виду отсутствие ст...   21.10.2004 18:55
Ш. Нелль   Да... то есть строка вобще не используется... Масс...   21.10.2004 19:20
volvo   Тогда можно сделать так: uses crt; var  i...   21.10.2004 19:36
Ш. Нелль   Спасибо.. А вот что значит это #10#13 writeln(#10...   21.10.2004 19:53
Altair   #10#13 перевыод курсора на новую строку Inc(); ...   21.10.2004 20:00
Ш.Нелль   А вот почему я не могла найти увеление номера.. :u...   21.10.2004 20:53
GoodWind   а уменьшение - dec(n);   22.10.2004 18:26
zx1024   У inc и dec (иногда) может быть второй аргумент. И...   23.10.2004 3:01
GoodWind   просто inc - сокращение от increment (повышение),...   23.10.2004 6:50
Atos   Да... Дедушка Вирт&парни из Borland, наверное...   23.10.2004 11:58


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 4.07.2025 19:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"