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

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

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

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Язык Паскаль, Тип данных - строки
сообщение
Сообщение #21


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +


Такое впечатление, что это программа не твоя, а товарища с похожим заданием. norespect.gif
Цитата
А программу подредактировать поможешь?
Подредактировать? Легко. Добавь в неё две фигурные скобки:
Program stroka1;
uses crt;
var s,s1,s2,s3:string;
i,j,k:byte;
c:char;
begin
clrscr;
writeln('Введите 1 предложение:');
readln(s);
s:=' '+s;
i:=1;
s2:='';
while i<=length(s) do
if (s[i]<>' ')and(s[i-1]=' ') then
begin
j:=i;
s1:='';
while(j<=length(s)){and(s[j]<>' ')} do
begin
s1:=s1+s[j];
j:=j+1;
end;
c:=s1[1];
s3:=copy(s1,2,length(s1)-1);
for k:=length(s3)downto 1 do
if s3[k]=c then delete(s3,k,1);
s2:=s2+s1[1]+s3;
i:=i+length(s1);
end
else
begin
s2:=s2+s[i];
i:=i+1;
end;
delete(s2,1,1);
write(s2);
readln
end.



--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Мужики, вы чего? shok.gif Оборзели слегка? Или забыли как сами начинали? А может, это новый способ заигрывать девочкой?.. Вы как будете первачку 1+2 объяснять - с помощью Додекиндовых сечений или все же на яблоках?? blink.gif
Да, уважаемые Действительные Члены Младшей Группы Детского Сада (ДЧМГДС), вас нельзя и на несколько часов оставить без внимания..

2 TarasBer: буду понижать репу за всякие O(n) не по делу - флуд! Даже хуже - пудришь мозги начинающим.. !nono.gif

Провинциалка, вот вся твоя задача:
var
s: string;
i: integer;

begin
Write('Введите строку: ');
ReadLn(s);
for i:=Length(s) downto 1 do if s[i]=s[1] then Delete(s,i,1);
WriteLn(s);
ReadLn
end.

Если нужно удалять независимо от регистра (большая/маленькая буква), то главный цикл замени на такой:
  for i:=Length(s) downto 1 do if UpCase(s[i])=UpCase(s[1]) then Delete(s,i,1); 

Задавай вопросы, если что-то неясно.

Если возможна ситуация, что первый символ - не буква (например: "Эй!"- крикнул он. Первый символ - кавычка), и надо ее обрабатывать, то нужно добавить поиск первой буквы. Мне почему-то кажется, что это тебе пока не надо (спроси препа). Если окажется, что надо - скажи, обсудим.

Пиши на том, что есть, никто тебя не перетягивает на Delphi. Pascal/Delphi - это просто название опции в выпадающем меню, которую тебе надо выбрать. Поскольку подсветка синтаксиса языкозависима, то и несколько опций на выбор. Опция Pascal/Delphi означает, что ты хочешь использовать вариант подсветки для языка Pascal или Delphi. То есть числа, строки, комментарии и т.п. будут выделены другим цветом (приглядись к программке в этом посте). Понятно? И прочти же, наконец, правила! И всего форума, и этого раздела (вверху этой страницы, п.2)

Успехов тебе.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> for i:=Length(s) downto 1 do if UpCase(s[i])=UpCase(s[1]) then Delete(s,i,1);

Ну ей может, такое и покатит. А вот Unconnectedу уже так писать неприлично.

> Даже хуже - пудришь мозги начинающим..

А вот Unconnected уже не начинающий, а всё ещё думает, что Delete работает мгновенно.
Надо всех учить.

Так что надо давно пора в FAQ добавить алгоритм удаления из массива элемента по признаку. Или он там уже есть?

Спойлер (Показать/Скрыть)


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(TarasBer @ 2.11.2010 10:15) *
Считаешь нужным - жми минус, делов то.
Дык - немного не хватало! Вот теперь все в порядке )). А Unconnected тут совершенно ни при чем.

Все, джентльмены, кончаем флуд.
Помогаем даме.
smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Гость






Извините, я тут немного припозднилась - то лекции, то проблемы. Мне понравилось всё, что тут обсуждалось. И вариант:
var
s: string;
i: integer;

begin
Write('Введите строку: ');
ReadLn(s);
for i:=Length(s) downto 1 do if s[i]=s[1] then Delete(s,i,1);
WriteLn(s);
ReadLn
end.
меня даже больше чем устраивает!!! Огромнейшее спасибо всем, кто принимал участие в этом нелёгком общении.
(Такое впечатление что на форуме настоящие АКУЛЫ своего дела. Честь и хвала профессионалам!)
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 2:20
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name