Перевод Из Паскаль В С++

Тема в разделе "C/C++/C#", создана пользователем aisylu, 14 янв 2013.

  1. aisylu

    aisylu New Member

    Регистрация:
    14 янв 2013
    Сообщения:
    1
    Симпатии:
    0
    Строка содержит произвольный русский текст. Проверить,каких в двухбуквенных сочетаний в нем больше:согл+глас,согл+согл,гласн+гласн.
    вот программа на паскале
    var
    s,s1,s2:string[255];
    k,t:Char;
    x,z ,i:Integer;
    soglglas,glasglas,soglsogl:Integer;
    begin
    readln(s);
    writeln(s,' ',length(s));
    s1:='уеыаоэяиюёЁУЕАОЭЯИ';
    s2:='йцкнгшщзхфвпрлджчсмтбЙЦКНГШЩХЗФВПРЛДЖЧСМТБ';
    x:=1;

    if s='' then write('нет текста' )
    else
    begin t:='0' ;
    while x<= length(s) do begin


    for i:=1 to Length (s1) do
    if s[x]=s1 then
    begin
    k:='g' ;z:=1;end;

    for i:=1 to length(s2)do
    if s[x]=s2 then begin
    k:='s' ; z:=1; end;
    if z<>1 then k:='0' ;


    if ((t+k)='gs') or ((t+k)='sg') then soglglas:=soglglas+1 ;
    if (t+k)='gg' then glasglas:=glasglas+1 ;
    if (t+k)='ss' then soglsogl:=soglsogl+1 ;


    t:=k;
    x:=x+1;
    Z:=0;
    end;
    end;
    Writeln(soglglas,' ',glasglas,' ',soglsogl);
    readln;
    end.


    пытаюсь перевести в с++...вопросы возникли..и вообще кто бы мог помочь? например сами видите с Length проблемы у меня...

    #include <iostream>
    #include <string>
    #include <locale>
    using namespace std;

    int main(int argc, char* argv[])
    {
    setlocale( LC_ALL,"Russian" );
    string s,s1,s2;
    char k,t;
    int x,z,i;
    int soglglas,glasglas,soglsogl;
    int length;
    {
    int get ();
    }
    cout<<"s"<<' '<<length(s);
    s1="уеыаоэяиюёЁУЕАОЭЯИ";
    s2="йцкнгшщзхфвпрлджчсмтбЙЦКНГШЩХЗФВПРЛДЖЧСМТБ";
    x=1;
    if (s=' ')
    cout<<"нет текста";
    else
    { t='0' ;
    while (x<= length(s)) do {
    for (i=1;i< length(s1);i++)
    if (s[x]==s1) {
    k='g' ;
    z=1;
    }

    for (i=1;i<length(s2);i++)
    if (s[x]=s2)
    {k='s' ;
    z=1;
    }
    if (z!=1)
    k='0' ;
    if (((t+k)=='gs')||((t+k)=='sg'))
    soglglas++;
    if ((t+k)=='gg')
    glasglas++;
    if ((t+k)=='ss')
    soglsogl++;
    t=k;
    x++;
    z=0;
    }
    cout<<soglglas<<' '<<glasglas<<' '<<soglsogl;
    cin.get();
    return 0;
    }
     
Загрузка...

Поделиться этой страницей