Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > из Pascal в C++


Автор: ROBERT1 3.6.2013, 20:12
здравствуйте помогите пожалуйста.
Код

Const st='........';
Var s,s1:string;
    i,k:byte;
    ch:char;
Begin
    write('Введите строку: ');readln(s);
    write('Введите символ: ');readln(ch);
    s:=s+' ';
    While Pos(' ',s)>0 do
    Begin
      s1:=Copy(s,1,Pos(' ',s)-1);
      Delete(s,1,Pos(' ',s));
      if odd(Length(s1))and(s1[1]=ch) then
      Begin
        k:=0;
        For i:=1 to Length(s1) do
         if Pos(s1[i],st)>0 then inc(k);
        writeln('В слове ',s1,' доля согласных = ',k);
      End;
    End;
    readln;
End.

Автор: kolesnle 3.6.2013, 20:58
я бы помог... но я забыл Pascal

Автор: kolesnle 3.6.2013, 21:21
Код

#include <iostream>
#include <string>
#include <clocale>
bool odd(int n)
{
   return double(n)/2.0 != int(n/2);
}
int main()
{
   setlocale(LC_ALL, "rus");
   std::string s, s1;
   size_t i, k;
   char ch;
   std::cout << "Введите строку: ";
   std::cin >> s;
   s += " ";
   while (s.find(" ")!=std::string::npos){
      s1 = s.substr(1, s.find(" ")-1);
      s = s.substr(s.find(" "), s.length());
      if (odd(s1.length() && s1[0] == ch)){
         k=0;
         for (int i=0; i<s1.length(); ++i)
             if(st.find(s1[i]) !=std::string::npos)
                ++k;
         std::cout << "В слове" << s1, " доля согласных = " << k << std::endl;
      }
   }
   system("pause");
}

Автор: bsa 4.6.2013, 11:02

M
bsa
Для домашних заданий, курсовых и т.п. существует \"Центр Помощи\".




Тема перенесена. 

Автор: catr 17.6.2013, 04:43
Цитата(kolesnle @  3.6.2013,  21:21 Найти цитируемый пост)
bool odd(int n)
{
   return double(n)/2.0 != int(n/2);
}


Б&%#$!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)