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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2009, 23:53   #11
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А почитать в учебнике не можете? Или хотите, чтобы за вас написали?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.09.2009, 00:05   #12
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

Ох... это было бы идеально)
Но думаю, не реально...
так ведь!?
Gery вне форума Ответить с цитированием
Старый 06.09.2009, 00:07   #13
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вы правильно думаете. Пробуйте сами. Ничего сложного там нет.
Будут вопросы - задавайте.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.09.2009, 10:36   #14
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

какая-то ерунда получается

Код:
var s,s1,s2,s3,a:string;
x,n,i:integer;
begin
writeln('vvedite tekst');
readln(s);
s:=' '+s;
i:=0;
a:='';
while i <= length(s) do begin
i:=i+1;
s1:=copy(s,i,1);
s2:=copy(s,i+1,1);
if s1=' ' then if ((s2='a') or (s2='e') or (s2='u') or (s2='i')
or (s2='o') then begin
repeat
i:=i+1;
s3:=copy(s,i,1)
until s3<>' ';
i:=i+1
end
else a:=a+s1
end;
s1:=copy(a,1,1);
if s1=' ' then delete(a,1,1);
writeln(a);
readln
end.

Последний раз редактировалось Stilet; 07.09.2009 в 10:03.
Gery вне форума Ответить с цитированием
Старый 06.09.2009, 13:44   #15
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вообще для типа стринг можно делать также, как и для чара.

Код:
uses crt;
var s,s1,s2,s3,a:string;
x,n,i:integer;
mn : set of char;

begin
writeln('vvedite tekst');
readln(s);
i:=1;
a:='';
mn := ['a','e','i','o','y','u'];
while i <= length(s) do
 begin
 while (s[i]=' ') and (i<=length(s)) do
  begin
  a := a + s[i];
  inc(i);
  end;
 if s[i] in mn then
  while (s[i]<>' ') and (i<=length(s)) do
   inc(i)
 else
  while (s[i]<>' ') and (i<=length(s)) do
   begin
   a := a + s[i];
   inc(i);
   end;
 end;

writeln(a);
readln
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 12.09.2009, 19:49   #16
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение

В общем, вот:

Код:
var text,m:array [1..50] of char;
glasnie:set of char;
i,j,k:integer;

begin
glasnie:=['A','a','O','o','E','e','U','u','I' ,'i'];
writeln ('введите текст');

i:=0;
repeat
 i:=i+1;
 read (text[i]);
until text[i]='.';

i := 1;
j := 0;

while text[i]<>'.' do
 begin
 while (text[i]=' ') and (text[i]<>'.') do
  begin
  inc(j);
  m[j] := text[i];
  inc(i);
  end;
 if text[i] in glasnie then
  while (text[i]<>' ') and (text[i]<>'.') do
   inc(i)
  else
   while (text[i]<>' ') and (text[i]<>'.') and (j<50) do
    begin
    inc(j);
    m[j] := text[i];
    inc(i);
    end;
 end;

 writeln;
for i:=1 to j do
 write(m[i]);
readln;
end.
а как сделать, чтобы удалялись лишние пробелы?
Gery вне форума Ответить с цитированием
Старый 12.09.2009, 19:55   #17
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Изучайте:
Код:
uses crt;
var s,s1,s2,s3,a:string;
x,n,i,k:integer;
mn : set of char;

begin
writeln('vvedite tekst');
readln(s);
i:=1;
a:='';
k := 1;
mn := ['a','e','i','o','y','u'];
while i <= length(s) do
 begin
 while (s[i]=' ') and (i<=length(s)) do
  inc(i);
 if s[i] in mn then
  while (s[i]<>' ') and (i<=length(s)) do
   inc(i)
 else
  while (s[i]<>' ') and (i<=length(s)) do
   begin
   a := a + s[i];
   inc(k);
   inc(i);
   end;
   if(length(a)>0) and (a[k-1]<>' ') then
    begin
    a := a + ' ';
    inc(k);
    end;
 end;

writeln(a);
readln
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.09.2009, 16:19   #18
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

Эм... с пробелами я все поняла.
Но мне хотелось, чтобы не было массива или множества из гласных.
А было 3 строки: входная, выходная и строка из гласных.
Gery вне форума Ответить с цитированием
Старый 21.09.2009, 00:41   #19
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Gery
Но мне хотелось, чтобы не было массива или множества из гласных.
А было 3 строки: входная, выходная и строка из гласных.
Тогда просто сделайте строку из гласных и вместо вот этого:
Код:
if s[i] in mn then
пробегайтесь по строке в цикле. Если найдено совпадение, то ..., если нет...
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 21.09.2009, 22:30   #20
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

Что-то не так...

Код:
var
i,s,k:integer;
gl:string='aeiou';
R1,R2,f:string;

begin
writeln (f);
readln(f);
k:=pos(' ',f);
while s<=length(f) do
if f[s] in gl then
R1:=copy(f,1,k)
 else repeat s:=s+1 until f[s]<>'  ';
delete(f,1,k);
writeln(f);
readln
end.

Последний раз редактировалось Stilet; 22.09.2009 в 08:46.
Gery вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление фрагмента текста Шурик Общие вопросы Delphi 0 31.05.2009 16:11
удаление выделеного текста RichTextBox TaTT DoGG Общие вопросы .NET 1 27.02.2009 21:44
Задача на удаление символов из текста Horknee Паскаль, Turbo Pascal, PascalABC.NET 9 19.01.2009 11:27
удаление одинаковых слов (С/С++) jewel Помощь студентам 1 12.12.2008 15:14
удаление текста с конца Lonix Общие вопросы Delphi 7 12.07.2007 14:00