Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.01;
Скачать: CL | DM;

Вниз

PAS =>> CPP   Найти похожие ветки 

 
Qwertyqwert   (2005-12-06 13:00) [0]

Доброго времени суток!
Помогите перевести на С++ следующий код:

var s:string;
    i:integer;
begin
readln(s);
for i:=1 to length(s) do
begin
  if (s[i]="Н" and s[i+1]="О") and(i<>1) then
   begin
    Witeln("YES");
    Halt;
   end;
end;
Writeln("NO");
end.


 
Иксик ©   (2005-12-06 13:05) [1]


> Qwertyqwert   (06.12.05 13:00)  

Зачем такие сложности??? И может все-таки to length(s)-1?


 
Virgo_Style ©   (2005-12-06 13:08) [2]

а Pos не лучше ли использовать?


 
MBo ©   (2005-12-06 13:16) [3]

strstr


 
AgainIm   (2005-12-06 13:26) [4]

Просто есть некоторые проблемы в С++
Может кто расскажет тогда, как работать со строками? Знаю скажите ищи книги, но все же нужно срочно, подскажите кто знает. С уважением! За ранее спасибо


 
Virgo_Style ©   (2005-12-06 13:28) [5]

на какой C++ ? Если на Builder, то практически дословно можно...


 
AgainIm   (2005-12-06 13:37) [6]

Нет не билдер, обычный С++ под дОС (с синим экраном :) )


 
Desdechado ©   (2005-12-06 14:08) [7]

а тебя не смущает, что этот код не работает?
for i:= 1 to length(s) do
 if (s[i+1]="О")...

на классическом Си это будет примерно так
char s[256];

for(i=0;i<strlen(s)-1;i++)
if( i!=1 && s[i]=="H" && s[i+1]=="O" )
{ printf( "YES\n" ); return(1); }
printf("NO");


 
Desdechado ©   (2005-12-06 14:11) [8]

соврал,
if( i!=0 && ...


 
AgainIm   (2005-12-06 14:44) [9]


var s:string;
   i:integer;
begin
readln(s);
for i:=1 to length(s)-1 do
begin
 if (s[i]="Н" and s[i+1]="О") and(i<>1) then
  begin
   Witeln("YES");
   Halt;
  end;
 if (s[i]="О" and s[i+1]="Н") and(i<>1) then
  begin
   Witeln("YES");
   Halt;
  end;
end;
Writeln("NO");
end.

Извеняюсь, писал на скорую руку :(
На С будет такой код? И еще вопрос: как реализовать ввод (readln Паскалевский)
#include <conio.h>
void main()
{
char s[256];
clrscr();
 //////////А как теперь считать строку? Так ине понял

for(i=0;i<strlen(s)-1;i++)
{
if( i!=0 && s[i]=="H" && s[i+1]=="O" )
 { printf( "YES\n" ); return(1); }
if( i!=0 && s[i]=="О" && s[i+1]=="Н" )
 { printf( "YES\n" ); return(1); }
}
printf("NO");
}



 
Igorek ©   (2005-12-06 15:29) [10]


> И еще вопрос: как реализовать ввод (readln Паскалевский)

scanf


 
Desdechado ©   (2005-12-06 15:30) [11]

> А как теперь считать строку?
А это домашнее задание. Не все же в клювик получать :)

кстати:
1. int main()
2. содержимое цикла поддается оптимизации (подсказка - левая граница i)


 
Desdechado ©   (2005-12-06 15:33) [12]

3. if можно писать один раз (отORить условия 1 и 2)
4. правую границу цикла стоит вычислить заранее, чтоб на каждой итераци не крутить
5. i надо описать


 
STL   (2005-12-06 16:35) [13]

код на C++ с использованием STL

#include <iostream>
#include <string>
#include <conio>

int main(int argc, char* argv[])
{
 char* const yes = "YES";
 char* const no = "NO";
 //искомая последовательность символов
 char* const find_it = "HO";
 using namespace std;
 string input_string;
 cout << "Input any string:\n";
 cin >> input_string;
 if(input_string.find(find_it) + 1)
   cout << yes;
 else
   cout << no;
 cout << "\nPress any key to exit.";
 //дождаться реакции пользователя
 getch();
 return 0;
}


 
AgainIm   (2005-12-09 01:37) [14]

А что такое STL?


 
Fl@sh ©   (2005-12-09 03:42) [15]


> AgainIm   (09.12.05 01:37) [14]
>
> А что такое STL?


http://www.google.com.ua/search?q=%D1%87%D1%82%D0%BE+%D1%82%D0%B0%D0%BA%D0%BE%D0%B5+stl&sourceid=mozilla-search&start=0& start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:ru-RU:official



Страницы: 1 вся ветка

Текущий архив: 2006.01.01;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.044 c
5-1120549619
Mutex
2005-07-05 11:46
2006.01.01
Найти название свойства для csSubComponent через OpenToolsAPI


2-1134730011
Oleg777
2005-12-16 13:46
2006.01.01
Как определить IP-адрес пользователя


6-1127280679
VadimX
2005-09-21 09:31
2006.01.01
Как проверить анонимность прокси


6-1127233878
Galiaf
2005-09-20 20:31
2006.01.01
Сокеты "склеивают" сообщения!


2-1134575728
fast2
2005-12-14 18:55
2006.01.01
Подскажите, в чем ошибка?