Текущий архив: 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