![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Nike0 |
![]() ![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Доброго времени суток, появилась проблема: есть структура, читаю из файла, нужно вывести только те спектакли, которые поставленны введенным режиссером. Проблема заключается в том, что в структуре все данные объявлены как string, а не char (тут я знаю как сортировать по алфавиту), а замена стринга на чар приводит к ошибке Lvalue required, если не ошибаюсь, пытается присвоить что-то константе mas[20], хотя этого нельзя сделать. Кто знает подскажите пожалуйста.
#include <iostream> ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата а замена стринга на чар приводит к ошибке Lvalue required Что-то я совсем ничего не понимаю. У тебя фамилия режиссера - это std::string? Почему ты хочешь это менять на char? Смысл в чем? Второе: почему не воспользоваться стандартным алгоритмом std::sort? Зачем делать свою сортировку? Зачем вообще делать сортировку? Просто пройти по массиву и проверить совпадение фамилий. Почему в конце концов массив, а не std::vector, в котором для поиска совпадений существует целый ряд специальных функций? ![]() |
Nike0 |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Что-то я совсем ничего не понимаю. У тебя фамилия режиссера - это std::string? Почему ты хочешь это менять на char? Смысл в чем? Второе: почему не воспользоваться стандартным алгоритмом std::sort? Зачем делать свою сортировку? Зачем вообще делать сортировку? Просто пройти по массиву и проверить совпадение фамилий. Почему в конце концов массив, а не std::vector, в котором для поиска совпадений существует целый ряд специальных функций? ![]() стандартную знаю сортировку, он будет сортировать фамилию по алфавиту? т.е сравнивает коды символов и упорядочивает их? просто как-то про это не подумал ![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата он будет сортировать фамилию по алфавиту? Переопредели оператор "<" для своей структуры как тебе нужно, будет сортировать хоть по длине фамилии ![]() |
Nike0 |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Переопредели оператор "<" для своей структуры как тебе нужно, будет сортировать хоть по длине фамилии ![]() я не знаю, правильно или нет, но что-то тут не то) #include <iostream> файл для сортировки суточку изменил, и может я что-то не правильно понял с переопределением? ![]() |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата может я что-то не правильно понял с переопределением? Угу. Я ж написал:Цитата Переопредели оператор "<" для своей структуры как тебе нужно , а те что сделал? Написал функцию compare()?struct theatre- проект будет компилироваться. А вообще - я тебя не понимаю. Ты пишешь, что тебе надо получить информацию о спектаклях, поставленных определенным режиссером, и тут же приплетаешь зачем-то if (c == mas[i].spekt). Просил что ввести? Фамилию режиссера. При чем тут спектакль? На фиг тут сортировки, все элементарно: case 5: |
Nike0 |
![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Угу. Я ж написал: , а те что сделал? Написал функцию compare()? struct theatre- проект будет компилироваться. если честно, то я не очень понимаю что значит переопределить оператор, насколько я помню нам мимолетом их рассказали в классах, без пояснений и т.д. А вообще - я тебя не понимаю. Ты пишешь, что тебе надо получить информацию о спектаклях, поставленных определенным режиссером, и тут же приплетаешь зачем-то if (c == mas[i].spekt). Просил что ввести? Фамилию режиссера. При чем тут спектакль? На фиг тут сортировки, все элементарно: да я в колледж спешил, с разгона и впихнул вместо режиссера спектакль, если почитать внимательно cout, то там написано "введите фамилию режиссера" ![]() ![]() |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Какого языка?
![]() struct theatre Вот это - именно "плюсы". А делать все на циклах - это несерьезно... Книгу? Я пользуюсь "The C++ Standard Library: A Tutorial and Reference" Н. Джосаттиса, если надо что-то из stl-ных алгоритмов посмотреть. Про использование std::sort там тоже написано... |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 6:51 |