Форум программистов, компьютерный форум CyberForum.ru

функция strcmp - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
25.10.2010, 12:58     функция strcmp #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void h(anceta*a, int n){
     
      for( int i = 0; i<n; i--)
     for(int j = 0; j < i; j++)
       {
     strcmp(a[j].fam,a[j+1].fam);
     if(
        //  anceta t;
          //t = a[j+1];
          //a[j+1]=a[j];
         //a[j] = t;
          cout<<endl;
     }
 }
как она работает , она должна проверить все фамилии независимо от их количества
как правильно установить порядок ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 12:58     функция strcmp
Посмотрите здесь:

Структура. Чтение файла. Функция strcmp C++
функция strcmp C++
C++ Функция strcmp
C++ STRCMP
Что делает функция strcmp(s1,s2) ? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
25.10.2010, 13:17     функция strcmp #2
C++
1
if(strcmp(a[j].fam ,a[j+1].fam ) == 0)  // значит строки равны
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
25.10.2010, 13:54  [ТС]     функция strcmp #3
NikolaWhite, если равны то continue, а если не равны надо все сверять то как?
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
25.10.2010, 14:05     функция strcmp #4
если равны то continue, а если не равны надо все сверять то как?
Чтобы выйти из цикла не continue а break

чтобы дальше проверять инкрементируем j
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
25.10.2010, 18:24  [ТС]     функция strcmp #5
C++
1
2
3
4
5
6
7
8
9
10
11
 void h(anceta*a, int n){
     
      for( int i = 0; i<n; i--)
     for(int j = 0; j < i; j++)
       {
     strcmp(a[j].fam,a[j+1].fam);
     if( strcmp(a[j].fam,a[j+1].fam)==0){break;}else{j++;}
        
          cout<<endl;
     }
 }
ну вот так ....
так он теперь вообще не работает
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
25.10.2010, 20:36     функция strcmp #6
C++
1
strcmp(a[j].fam,a[j+1].fam);
это лишнее
C++
1
else{j++;}
это тоже
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2010, 20:51     функция strcmp
Еще ссылки по теме:

C++ Функция strcmp
Strcmp C++
Неправильно работает функция strcmp c русскими буквами C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
25.10.2010, 20:51  [ТС]     функция strcmp #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void h(anceta*a, int n){
     anceta m;
      for( int i = 0; i<n;i++){
     for(int j= 0; j< i; j++)
       {
    if( strcmp(a[j].fam,a[j+1].fam)>0)
    {anceta t;
          m = a[j+1];
          a[j+1]=a[j];
          a[j] = m;}
     if( strcmp(a[j].fam,a[j+1].fam)==0){break;}else{j++;}
        
          cout<<endl;
     }
 }
 }
если три анкеты ничего не сортирует, что то там сортирует
Yandex
Объявления
25.10.2010, 20:51     функция strcmp
Ответ Создать тему
Опции темы

Текущее время: 23:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru