Главная страница
    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.48 MB
Время: 0.009 c
10-1110566105
Nicolas1989
2005-03-11 21:35
2006.01.01
Функция Sort


3-1131532901
root
2005-11-09 13:41
2006.01.01
Как сохранить JPG в базу Access через ADO


4-1130686963
AllDontFire
2005-10-30 18:42
2006.01.01
есть SHBrowseForFolder с созданием папки?


5-1118905491
flake
2005-06-16 11:04
2006.01.01
TTrackBar - ползунки


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский