Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Как с++ сравнивает две строки?
1
  1  Meirambek, 03 апреля 2011 г. 11:11:27
      string s1,s2;
int i,n1=0,n2=0;
cin>>s1>>s2;
n1=s1.length();
n2=s2.length();
if(s1==s2){cout<<"="; return 0;} // esli oni odinakovy to =
else if(n1 > n2){cout << ">"; return 0;} // esli dlinna 1 bol'we dliina 2 stroki to ">"
else if(n1 < n2){cout<<"<" return 0;} // ina4e
else{//esli ixnyaya dlinna odinakova
for(i=0; i<n1; i++){
if(s1[i]-'0' > s2[i] - '0'){cout<<">"; return 0;}
else {cout<<"<"; return 0;}
}

}
  2  Arno, 29 апреля 2010 г. 22:17:30
      A ti vozimi i zaseky, a potom vsem nam rasskajesh :-)
  3  Генадий Врублёвский, 28 апреля 2010 г. 8:49:53
      А за какое время это все делается?
  4  Бороздин Кирилл Андреевич, 26 апреля 2010 г. 15:04:48
      Ну эти операторы перегружены для C++-строк, а для сишых есть только strcmp
  5  Демиденко Виталий, 26 апреля 2010 г. 14:07:05
      А что делают обычные операторы == > <?
  6  Мирный, 26 апреля 2010 г. 11:54:51
      int strcmp(const char *s1, const char *s2)
Возвращает 0 если строки равны, < 0 если первая строка меньше и >0 если первая строка больше.
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru