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


Ответ
 
Опции темы Опции просмотра
Старый 28.04.2012, 12:48   #1 (permalink)
ww01031977
Member
 
Аватар для ww01031977
 
Регистрация: 22.01.2008
Сообщений: 553
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 46
По умолчанию Паскаль. Строки. Помогите оптимизировать программу

Удалить из строки все гласные символы.вот что получилось. Символы для удаления не те, но прошу подсказать как лучше.может надо указывать №символа в таблице символов. и еще есть програма кейрус.ком с помощью которой я могу печатать кирилицей. а как напечатать без кейрус.ком.
2. Удалить из строки первые 10 символов. я понимаю что можно сделать тем же методом, но это както не правильно. подскажите.

program del_gol_symb;
var r,r1:string;
i:integer;
begin
writeln('vvedite tekst');
readln(r);
for i:=1 to 6 do
begin
case i of
1:r1:='a';
2:r1:='o';
3:r1:='u';
4:r1:='e';
5:r1:='i';
6:r1:='y';
end;
while pos(r1,r)>0 do
begin
delete(r,pos(r1,r),length(r1));
end;
end;
writeln(r);
end.
ww01031977 вне форума   Ответить с цитированием

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

Мой вам совет - прочитайте содержимое этих тем

Помогите составить программу на турбо паскаль
Помогите написать программу. Паскаль
Строки, Паскаль
Помогите написать программу на языке паскаль

Старый 28.04.2012, 13:36   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Можно и покороче. Если в первой задаче использовать тип множество (Set). А что до второй, то это просто решается применением одного оператора Delete (удалить подстроку длиной 10 позиций, начиная с первой.
Vladimir_S вне форума   Ответить с цитированием
Старый 28.04.2012, 14:28   #3 (permalink)
ww01031977
Member
 
Аватар для ww01031977
 
Регистрация: 22.01.2008
Сообщений: 553
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 46
По умолчанию

извините, не правильно написал, нужно Удалить из строки первые 10 символов алфавита.
ww01031977 вне форума   Ответить с цитированием
Старый 28.04.2012, 19:17   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ww01031977 Посмотреть сообщение
Удалить из строки все гласные символы.вот что получилось. Символы для удаления не те, но прошу подсказать как лучше.
Не понял - почему, собственно, "не те"? По-моему, самые "те". А лучше, мне кажется, так:
Код:
const
 gl=['a','o','u','e','i','y','A','O','U','E','I','Y'];
var
 r:string;
 i:integer;
begin
 writeln('vvedite tekst');
 readln(r);
 for i:=1 to Length(r) do
  begin
   if r[i] in gl then
    begin
     delete(r,i,1);
     dec(i);
    end;
  end;
 writeln(r);
 readln
end.
Вторую задачу - да, можно и тем же методом. Тут так:
Код:
const
 first10=['a'..'j']+['A'..'J'];
var
 r:string;
 i:integer;
begin
 writeln('vvedite tekst');
 readln(r);
 for i:=1 to Length(r) do
  begin
   if r[i] in first10 then
    begin
     delete(r,i,1);
     dec(i);
    end;
  end;
 writeln(r);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 28.04.2012, 19:42   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ww01031977 Посмотреть сообщение
и еще есть програма кейрус.ком с помощью которой я могу печатать кирилицей. а как напечатать без кейрус.ком.
Знаете - так трудно помогать, когда приходится разгадывать ребусы и, продираясь сквозь сверхлаконичные запросы, докапываться до того, "а что имел в виду спрашивающий?". Как я понял, Вас интересует русификация в режиме эмуляции DOS? Так? Тогда объясните, чем Keyrus не устраивает, потому что есть и другие аналогичные программы. Я, например, пользуюсь Cyrillic. Или Вам хочется вообще без дополнительных программ? Боюсь, не выйдет.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 03.05.2012, 12:23   #6 (permalink)
ww01031977
Member
 
Аватар для ww01031977
 
Регистрация: 22.01.2008
Сообщений: 553
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 46
По умолчанию

Спасибо большое за помощь.
ww01031977 вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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