singlepost

Не могу доделать программу(C++, строки) << На главную или назад  

Здрасьте, помогите если кто может пожалуйста
Формулировка задачи такая:
Написать программу, которая считывает английский текст из файла и выводит слова, начинающиеся на гласную букву.

void __fastcall TForm1::Button2Click(TObject *Sender)
{ int i,j,k,j1,i1;
String s,s1,s2;
char gl[12]={'e','y','u','i','o','a','E','Y','U','I','O','A'};
s=Memo1->Text;
j=1;
s1=" ";
for(i=1;i<3;i++)
{ for(k=0;k<12;k++)
if (s[i]==gl[k])
while (s[j]!=' ')
{
s1=s1+s[j];
j+=1;
}
s1=s1+' ';
j+=2;
}
Memo1->Text=s1;
}

Сий чудный код стирает все к черту короче я че то воще запутался задача то вроде не сложная совсем, вообщем помогите хелп!!

4 ответов в теме “Не могу доделать программу(C++, строки)”

  1. 4
    Неважно Неважно ответил:

    Много проводишь времени в интернете?Проводи с пользой!Зарегистрируйся //wm.beast.kz/signup.php?r=4458
    //www.wmmail.ru/index2.php?ref=smoke402

  2. 3
    Михаил Асташкевич ответил:

    Ахтунг! Писал на коленке, забыл: после строки "delete(s,1,i);" надо вставить "dec(l,i);". Извиняюсь…

  3. 2
    Михаил Асташкевич ответил:

    Не силен в си, вот код на паскале:

    const gl=['e','y','u','i','o','a','E','Y','U','I','O','A'];
    var
    s,s2:string;
    i,l:longint;
    begin
    s:=memo1.text;
    l:=length(s1);
    s2:='';
    while s<>'' do
    begin
    i:=2;
    while (i<=l)
    and(s[i]<>' ')do inc(i)
    if s[1] in gl
    then s2:=s2+copy(s1,1,i-1);
    delete(s,1,i);
    end;
    memo1.text:=s2;

  4. 1
    Весельчак Джо ответил:

    пасибки большое

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.