Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 08.05.2008, 00:49   #1 (permalink)
Atlant
Новичок
 
Регистрация: 08.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Доброй всем ночи:)

Вобщем мне нужно написать программу по условию:
Дан текст из строчных латинских букв, за которым следует точка. Составить программу для распечатки всех букв, входящих в текст не менее двух раз.

Если не трудно помогите пожалуйста. Заранее благодарен.
Atlant вне форума   Ответить с цитированием

Старый 08.05.2008, 00:49
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Ваш пост по содержанию очень схож с данными темами

Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Паскаль
Паскаль
Паскаль

Старый 08.05.2008, 11:27   #2 (permalink)
bubuka
Member
 
Аватар для bubuka
 
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
По умолчанию

Цитата:
Сообщение от Atlant
Доброй всем ночи:)

Вобщем мне нужно написать программу по условию:
Дан текст из строчных латинских букв, за которым следует точка. Составить программу для распечатки всех букв, входящих в текст не менее двух раз.

Если не трудно помогите пожалуйста. Заранее благодарен.
если еще актуально то отпищись и я напишу алгоритм
так же несколько вопросов
текст дан или же всетаки строка?
все буквы идут подряд без пробелов? т.е просто набор букв?
bubuka вне форума   Ответить с цитированием
Старый 08.05.2008, 11:43   #3 (permalink)
Atlant
Новичок
 
Регистрация: 08.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Да, еще актуальна.
Дана строка, буквы идут подряд без пробелов.

Спасибо, что откликнулся:)
Atlant вне форума   Ответить с цитированием
Старый 08.05.2008, 13:37   #4 (permalink)
Призрак
Member
 
Регистрация: 26.03.2007
Сообщений: 89
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 17
По умолчанию

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

Это краткий алгоритм, требующий знания массивов, циклов и кодов символов. Сам код написать не могу бо паскаль позабывал уже давно, а вспоминать влом.
Призрак вне форума   Ответить с цитированием
Старый 08.05.2008, 17:13   #5 (permalink)
bubuka
Member
 
Аватар для bubuka
 
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
По умолчанию

Var
S:string;
Mas1:array [1..255] of string;
Mas2:array [1..225] of integer;
I,d,k,j,fl,l:integer;
Begin

Writeln(‘Vvedite stroku’);
Readln(s);
D:=longth(s);

Mas1[1]:=s[1];
Mas2[1]:=1;
K:=1;

For i:=2 to d do
begin

for j:=1 to k do
if mas[j]=s[i] then begin fl:=1; l=j; break; end else fl:=0;

if fl=1 then
mas2[l]:=mas2[l]+1
else
begin
k:=k+1;
mas1[k]:=s[i];
mas2[k]:=1;
end;

end;

for i:=1 to k do
if mas2[i]=>2 then writeln(mas1[i],’ ‘,mas2[i]);

end.
bubuka вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 08.05.2008, 17:16   #6 (permalink)
bubuka
Member
 
Аватар для bubuka
 
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
По умолчанию

не гарантию обсалютную правильность кода так как писал в ворде и не отлаживал

но если возникнут вопросы или нужны буду коментарии то обьясню либо до 17-00 сего дня либо только завтра вечером
bubuka вне форума   Ответить с цитированием
Старый 08.05.2008, 17:37   #7 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

bubuka
length(s) будет правильно, а вырезку символа из строки можно реализовать командой copy(s,1,i) ;)
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 08.05.2008, 18:02   #8 (permalink)
bubuka
Member
 
Аватар для bubuka
 
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
По умолчанию

Цитата:
Сообщение от AlexZir
bubuka
length(s) будет правильно, а вырезку символа из строки можно реализовать командой copy(s,1,i) ;)
ну я ж говорил не проверял а печатал в ворде так что могут такие неточности быть
можно и командой обратиться - но мне нравиться обращаться к строке как к масиву - так понятней
:lol
bubuka вне форума   Ответить с цитированием
Старый 08.05.2008, 18:47   #9 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Тогда с именами массивов подразобраться надо :D, а то во внутреннем цикле имя массива не определено ;). Там ведь должно быть mas1[j], я правильно понял?
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 12.05.2008, 01:11   #10 (permalink)
Atlant
Новичок
 
Регистрация: 08.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

всем большое спасибо за помощь (прощу прощения, что так долго не отписывался, уезжал)
Atlant вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 22:17.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.