Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2009, 17:46   #1
Olalya da Silva
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 11
Восклицание Текст

В произвольном тексте(тип: char. Без использования типа string) к каждой согласной добавить еще одну такую же.
Olalya da Silva вне форума Ответить с цитированием
Старый 15.01.2009, 18:00   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

какой язык?
Hollander вне форума Ответить с цитированием
Старый 15.01.2009, 18:12   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Для английского алфавита. Если надо русский, несложно добавить.
Код:
uses crt;
const m = ['B'..'D','F'..'H','J'..'N','P'..'T','V'..'X','Z'];
var
str : array[1..300] of char;
str2 : array[1..600] of char;
i,k,len : integer;
ch : char;
begin
clrscr;
writeln('Enter string:');
len := 1;
repeat
 ch := readkey;
 write(ch);
 if ch = #13 then break;
 str[len] := ch;
 inc(len);
 until ch = #13;
 writeln;
writeln('--------');
k := 1;
for i:=1 to len do
  begin
  if not (UPCASE(str[i]) in m) then
    begin
    str2[k] := str[i];
    inc(k);
    end
  else
    begin
    str2[k] := str[i];
    str2[k+1] := str[i];
    inc(k,2);
    end;
  end;

for i:=1 to k-2 do
 write(str2[i]);
readln;
end.
Hollander
Цитата:
какой язык?
Так в ветке "Паскаль" же тема
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 15.01.2009, 18:18   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Sazary я не много поправил

Код:
uses crt;
const m = ['B'..'D','F'..'H','J'..'N','P'..'T','V'..'X','Z'];
var
str : array[1..300] of char;
i,k,len : integer;
ch : char;
begin
clrscr;
writeln('Enter string:');
len := 1;
repeat
 ch := readkey;
 if ch<> #13 then write(ch);
 if ch = #13 then break;
 str[len] := ch;
 inc(len);
 until ch = #13;
 writeln;
writeln('--------');
k := 1;
for i:=1 to len-1 do
  begin
  write(str[i]);
  if  (UPCASE(str[i]) in m) then write(str[i])
  end;
readln;
end.
а Hollander спрашивал про язык ввода(я так думаю)
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 15.01.2009, 18:21   #5
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

alex_fcsm прав, я спрашивал про языка ввода. Самое обидное что пока ждал уже наклепал немного, но вижу что уже не надо ))
Hollander вне форума Ответить с цитированием
Старый 15.01.2009, 18:26   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Hollander Ну тогда сорри )
alex_fcsm
Цитата:
Sazary я не много поправил
Тогда уж скорее облегчили ) Ведь у вас происходит вывод на экран без изменения самой строки )
Хотя, для данной задачи, скорее всего, большего и не надо..
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 15.01.2009, 19:10   #7
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
program ds;
const
 n = 255;
var
 m : set of char;
 s,sub : array [1..n] of char;
 i,j,k : byte;
begin

 m:=['B'..'Z']+['b'..'z']-['e','E','u','U','i','I','o','O'];
 m:=m+['Ѓ'..'™']+['Ў'..'й']-['e','…','Ё','€','®','O','г','“'];

 i:=0;
 repeat
   inc(i);
   read(s[i])
 until s[i]=#13;
 readln;

 j:=0;
 for k:=1 to i do
 begin
   inc(j);
   sub[j]:=s[k];
   if s[k] in m then
   begin
     inc(j);
     sub[j]:=s[k];
   end
 end;

 for i:=1 to j do write (sub[i]);

 readln

end.
capta1n вне форума Ответить с цитированием
Старый 15.01.2009, 19:11   #8
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

непонятные символы - это русские буквы
capta1n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать какой текст выделен в текст поле mogul82 JavaScript, Ajax 2 02.11.2008 16:32
Текст Sanek_ntsk Паскаль, Turbo Pascal, PascalABC.NET 3 10.03.2008 15:23
бегущий текст ben95 Общие вопросы Delphi 2 29.02.2008 08:23
Текст [Smarik] Паскаль, Turbo Pascal, PascalABC.NET 6 19.02.2008 18:26