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

Сортировка структуры выбором - C++

Восстановить пароль Регистрация
 
by-nick
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 3
15.04.2012, 00:04     Сортировка структуры выбором #1
Есть структура фамилий. нужно реализовать сортировку фамилий методом выбора по алфовиту. Помогите пожайлусто. Чтото не выходит немогу понять что.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
#include <stdio.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
typedef struct book{
char fio[10];
}book;
 
 
 
int size = sizeof(book);
 
book books[3];
 
book bk, *mas_Z;
 
void sort(book *, int);
 
 
int main()
{
 
 
    int i,j,ind,n=2;
 
    for(i=0; i<n; i++) {
       fflush(stdin);
       cin>>books[i].fio;
    }
    for(i=0; i<n; i++) {
       cout<<"vivod: "<<endl;
       cout<<books[i].fio<<endl;
    }
 
    sort(books, 2);
    for (i = 0; i < 2; ++i){
    cout<<"vivod: "<<endl;
       cout<<books[i].fio<<endl;
    }
 
 
 
    getch();
    return 0;
}
 
//---------------------------------------------------------------------------
void sort(book *mas_Z, int kol)
{
    book temp;
    char a[] = "ABVGDEZIKLMNOPRSTYFXC4";
    int i, j;
 
    for (i = 0; i < kol-1; i++)
    {       int m = i;
        for (j = i + 1; j < kol; j++)
        {
            if (mas_Z[j].fio < a[m])
            {
                m=j;
                temp = a[m];
                a[m] = mas_Z[i];
                mas_Z[i] = temp;
            }
        }
    }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2012, 00:04     Сортировка структуры выбором
Посмотрите здесь:

C++ /сортировка выбором C++
сортировка выбором C++
C++ Сортировка выбором
C++ сортировка выбором
Сортировка выбором C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
15.04.2012, 01:02     Сортировка структуры выбором #2
автор зачем вы сравниваете массив FIO с буквами алфавита???
вам нужно сравнивать 2 массива fio
строки сравниваются с помощью функции strcmp
by-nick
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 3
15.04.2012, 01:26  [ТС]     Сортировка структуры выбором #3
Приведите пожайлусто пример кода.
Я просто не понимаю как может strcmp отсортировать массив по алфовиту. Т.к strcmp возвращает результат типа int.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
15.04.2012, 01:30     Сортировка структуры выбором #4
Цитата Сообщение от by-nick Посмотреть сообщение
Приведите пожайлусто пример кода.
Я просто не понимаю как может strcmp отсортировать массив по алфовиту. Т.к strcmp возвращает результат типа int.
да, если одна строка больше другой(сравнение идет по алфавиту) то вовзращается 1
вот и делаете цикл по массиву структур и сравниваете фио одной структуры с другой, исходный код сортировки можно взять с вики, и доделать под себя
by-nick
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 3
15.04.2012, 01:50  [ТС]     Сортировка структуры выбором #5
О дошло и код получился. Спасиб.
Yandex
Объявления
15.04.2012, 01:50     Сортировка структуры выбором
Ответ Создать тему
Опции темы

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