Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Last_Night
20 / 20 / 8
Регистрация: 02.10.2012
Сообщений: 124
1

Сортировка массива структур: ошибка "LValue Required"

20.04.2013, 23:11. Просмотров 673. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 23:11
Ответы с готовыми решениями:

Структура "экзамен". Сортировка массива структур по одному из полей
Помогите написать код Постановка задачи Разработать программу, выполняющую следующие функ-ции:...

Сортировка массива структур "Студент" по сумме баллов
Здравствуйте. Помогите пожалуйста. Делаю уже месяц, задача простоя а наверно я дурочек не чего не...

Сортировка "пузырьком" массива структур по заданному полю
Нужно отсортировать структуру по фамилии доктора, но что то он не сортирует. void...

Ошибка: "Expression must be modifiable lvalue"
Всем привет. Есть одна проблемка. vs2010 выдает ошибку в строке 20 Error: Expression must be...

Ошибка lvalue required
#include &lt;iostream.h&gt; int main() { float fut,metr; cin&gt;&gt;fut; ...

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

Добавлено через 12 минут
не работает((
0
Tulosba
:)
Эксперт С++
4752 / 3246 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
21.04.2013, 00:38 4
Второй цикл какой-то не такой: j = i+1 наверное надо. Хотя не очень понятно зачем.
1
21.04.2013, 00:38
BumerangSP
4292 / 1414 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.04.2013, 00:43 5
Last_Night, показывайте, что изменилось. И структуру желательно тоже.
1
Last_Night
20 / 20 / 8
Регистрация: 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
4292 / 1414 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.04.2013, 01:01 7
Скорее всего дело в индексах, как сказано выше. j не инициализирован, но используется.
1
Last_Night
20 / 20 / 8
Регистрация: 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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2013, 01:43

Ошибка Lvalue required
Выдаёт ошибку, а что это - я незнаю. Знаю что что-то там со строками связано, но я не программист)...

Ошибка E2277 Lvalue required
Пытаюсь создать список. Вот функция, в строке: Spisok=g; выдает ошибку, помогите пожалуйста...

Ошибка "Constant expression is required" - const в сlass
Создал класс: class TVseGrup { public: TVseGrup(const short KolTo4=0) : FKolTo4(KolTo4)...


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

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

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