28.04.2012, 12:48 | #1 (permalink) |
Member
Регистрация: 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. |
28.04.2012, 12:48 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Мой вам совет - прочитайте содержимое этих тем Помогите составить программу на турбо паскаль Помогите написать программу. Паскаль Строки, Паскаль Помогите написать программу на языке паскаль |
28.04.2012, 13:36 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Можно и покороче. Если в первой задаче использовать тип множество (Set). А что до второй, то это просто решается применением одного оператора Delete (удалить подстроку длиной 10 позиций, начиная с первой.
|
28.04.2012, 19:17 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
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. |
|
28.04.2012, 19:42 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Знаете - так трудно помогать, когда приходится разгадывать ребусы и, продираясь сквозь сверхлаконичные запросы, докапываться до того, "а что имел в виду спрашивающий?". Как я понял, Вас интересует русификация в режиме эмуляции DOS? Так? Тогда объясните, чем Keyrus не устраивает, потому что есть и другие аналогичные программы. Я, например, пользуюсь Cyrillic. Или Вам хочется вообще без дополнительных программ? Боюсь, не выйдет.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
03.05.2012, 12:23 | #6 (permalink) |
Member
Регистрация: 22.01.2008
Сообщений: 553
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 46
|
Спасибо большое за помощь.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|