С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
#1

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

20.04.2013, 23:11. Просмотров 592. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void sortByFio() {
    int i,j;
    char temp[50];
    char temp2[50];
    char temp3[50];
    for (i = 0; i<len; i++) {
        for ( i = j+1; j<len; j++) {
            if (book[i].fio > book[j].fio) {
                temp = book[j].fio;
                book[j].fio = book[i].fio;
                book[i].fio = temp;
                
                temp2 = book[j].num;
                book[j].num = book[i].num;
                book[i].num = temp2;
                
                temp3 = book[j].adr;
                book[j].adr = book[i].adr;
                book[i].adr = temp3;
            }
        }
    }
}
ошибка LValue Required
что я не так делаю, почему одно поле нельзя присвоить другому
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 23:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка массива структур (C++):

Сортировка массива структур через сортировку массива указателей - C++
Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку - помогите, пожалуйста. Код программы: ...

Сортировка массива структур - C++
Имеется массив структур, который необходимо отсортировать по числовому ключу. Я написал код, но он не работает, поэтому просьба указать на...

Сортировка массива структур - C++
Имеется структура : struct Data_base { string team_name; string city; int scored_goals; int missed_goals;...

Сортировка массива структур - C++
Разработать программу, реализующую сортировку массива структур (50 элементов). В качестве элемента массива выбрать структуру,...

Сортировка массива структур... - C++
Здравствуйте! Не могли бы вы выложить примеры или кинуть ссылочку на интересную статью по сортировке массива структур. Имеется массив...

Сортировка массива структур - C++
Здравствуйте! Помогите пожалуйста реализовать сортировку массива структур по полю &quot;date&quot; (все записи должны быть отсортированны по дате)....

7
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.04.2013, 00:01 #2
Last_Night, потому что temp имя массива. А строки надо копировать хотя бы через strcpy.
0
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
21.04.2013, 00:24  [ТС] #3
спасибо тупанул(

Добавлено через 12 минут
не работает((
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.04.2013, 00:38 #4
Второй цикл какой-то не такой: j = i+1 наверное надо. Хотя не очень понятно зачем.
1
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.04.2013, 00:43 #5
Last_Night, показывайте, что изменилось. И структуру желательно тоже.
1
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
21.04.2013, 00:57  [ТС] #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void sortByFio() {
    int i,j;
    char temp[50];
    char temp2[50];
    char temp3[50];
    for (i = 0; i<len; i++) {
        for ( i = j+1; j<len; j++) {
            if (book[i].fio[1] > book[j].fio[1]) {
                strcpy(temp,book[j].fio);
                strcpy(book[j].fio, book[i].fio);
                strcpy(book[i].fio, temp);
                
                strcpy(temp2,book[j].num);
                strcpy(book[j].num, book[i].num);
                strcpy(book[i].num, temp2);
                
                strcpy(temp3, book[j].adr);
                strcpy(book[j].adr, book[i].adr);
                strcpy(book[i].adr, temp3);
            }
        }
    }
}
просто напросто когда вызывается функиция, окно программы вылетает

Добавлено через 9 минут
C++
1
2
3
4
5
struct refBook {
    char num[11];
    char fio[50];
    char adr[50];
}  book[500];
вот сама структурка
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.04.2013, 01:01 #7
Скорее всего дело в индексах, как сказано выше. j не инициализирован, но используется.
1
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
21.04.2013, 01:43  [ТС] #8
спасибо, а я и не заметил, уже не вылетает но всёравно не сортирует

Добавлено через 4 минуты
всё в норме
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void sortByFio() {
    int i,j;
    char temp[50];
    char temp2[50];
    char temp3[50];
    for (i = 0; i<len-1; i++) {
    for ( j = i+1; j<len; j++) {
        if (book[i].fio[0] > book[j].fio[0]) {
        strcpy(temp,book[i].fio);
        strcpy(book[i].fio, book[j].fio);
        strcpy(book[j].fio, temp);
                
        strcpy(temp2,book[i].num);
        strcpy(book[i].num, book[j].num);
                strcpy(book[j].num, temp2);
 
        strcpy(temp3, book[i].adr);
        strcpy(book[i].adr, book[j].adr);
        strcpy(book[j].adr, temp3);
            }
        }
    }
}}
работает
0
21.04.2013, 01:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2013, 01:43
Привет! Вот еще темы с ответами:

сортировка структур массива - C++
Помогите пожалуйста с сортировкой по алфавиту на С++. Нужно создать типа массив, где будут хранится отсортированые значение, но функция...

Сортировка массива структур - C++
Разьясните пожалуйста в как можно поступить по другому. Не выделяя, как у меня дополнительный массив. #include&lt;iostream&gt; const...

Сортировка массива структур - C++
Нужно создать структуру Student c полями Имя, Номер группы, Оценки (массив из 5 элементов) #include &quot;stdafx.h&quot; using namespace std; ...

Сортировка массива структур - C++
Ругается на использование структуры, соответственно не работает вся программа. Задача: отсортировать массив по типу культур. struct...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.