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

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

Войти
Регистрация
Восстановить пароль
 
 
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
#1

Используя класс list, в котором храняться фамилии студентов группы, организовать поиск по фамилии - C++

21.08.2014, 13:43. Просмотров 1170. Ответов 28
Метки нет (Все метки)

Дали задание: используя класс list, в котором храняться фамилии студентов группы, организовать поиск по фамилии. Не могу создать list с уже заданным содержимым.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2014, 13:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Используя класс list, в котором храняться фамилии студентов группы, организовать поиск по фамилии (C++):

Распечатать анкетные данные студентов интересующей вас группы. Фамилии студентов начинаются с букв I, F и G - C++
!!!!!

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

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

Структуры. Вывести фамилии студентов. - C++
Вывести фамилии студентов, балл по определенному предмету которых превышает средний балл по предмету на 0.5 балла

Сортировка группы по фамилии. Библиотеки STL - C++
Добрый вечер! Помогите, пожалуйста. Задача на сортировку, по фамилии, группы с помощью библиотеки STL. Не могу понять где ошибка в коде. ...

Вывести фамилии студентов, не аттестованных по тем предметам - C++
1. Даны сведения о результатах аттестации, что и в предидущей задаче. вывести фамилии студентов не аттестованных по тем предметам. 2....

28
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
22.08.2014, 12:39 #16
Sandir, что такое двумерный список?
1
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
22.08.2014, 12:43  [ТС] #17
где-то видел такое:
C++
1
list<list<int> myint> mylist
Добавлено через 32 секунды
UPD просто интересно как это работает
0
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
22.08.2014, 13:12 #18
Ну список списков. Работает также, как и всегда. В первом списке в качестве элементов будут списки целых чисел.
1
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
22.08.2014, 13:22  [ТС] #19
Вот только у меня не компилируется, кидает ошибку на эту строку "некорректный аргумент шаблона"
0
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
22.08.2014, 13:30 #20
Что это?
list<list<int> myint> mylist
C++
1
list< list<int> > mylist;
0
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
22.08.2014, 13:44  [ТС] #21
Цитата Сообщение от John Prick Посмотреть сообщение
list< list<int> > mylist;
Так работает, но всё ещё не понятно как выводить на экран?
0
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
22.08.2014, 13:48 #22
C++
1
2
3
4
5
6
typedef list< list<int> > list_of_list;
for (list_of_list::iterator it = mylist.begin(), it != mylist.end(); ++it)
{
    for (list<int>::iterator jt = (*it).begin(); jt != (*it).end(); ++jt)
        cout << *jt;
}
1
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
22.08.2014, 14:34  [ТС] #23
работает, но теперь ругается если делаю

C++
1
mylist.push_back("Иванов");
0
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
22.08.2014, 14:53 #24
Sandir, ну так а что ты делаешь? Строки тут причём, когда один список - это список целых чисел, а второй - список первых списков?
1
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
22.08.2014, 15:30  [ТС] #25
замена на string не помогла.
Извините, если донимаю вопросами, хотя задание уже сделано, но разобраться интересно.
0
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
22.08.2014, 15:42 #26
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string s1("Ivanov");
string s2("Petrov");
string s3("Sidorov");
string s4("Kuznetsov");
 
list<string> list1;
list1.push_back(s1);
list1.push_back(s2);
 
list<string> list2;
list2.push_back(s3);
list2.push_back(s4);
 
list< list<string> > list_of_list;
list_of_list.push_back(list1);
list_of_list.push_back(list2);
1
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
22.08.2014, 16:29  [ТС] #27
Спасибо!

Добавлено через 29 минут
А как организовать взаимосвязь между list1 и list2?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
list<string> list1;
list1.push_back("Иванов");
list1.push_back("Петров");
list1.push_back("Сидоров");
 
list<string> list2;
list2.push_back("1");
list2.push_back("2");
list2.push_back("3");
 
list< list<string> > mylist;
mylist.push_back(list1);
mylist.push_back(list2);
 
typedef list< list<string> > list_of_list;
for (list_of_list::iterator it = mylist.begin(), it != mylist.end(); ++it)
{
    for (list<string>::iterator jt = (*it).begin(); jt != (*it).end(); ++jt)
        cout << *jt;
}
Как я понял первый for идёт по mylist(списку списков), а второй уже по содержимому этих списков, тогда как получить что-то вроде:
C++
1
2
3
\
if(*jt == "Иванов")
cout << "Иванов" << /*порядковый номер из list2*/ << "й по списку" << endl;
0
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
22.08.2014, 16:48 #28
Цитата Сообщение от Sandir Посмотреть сообщение
Как я понял первый for идёт по mylist(списку списков), а второй уже по содержимому этих списков
Да.
Цитата Сообщение от Sandir Посмотреть сообщение
А как организовать взаимосвязь между list1 и list2?
Да, в общем, никак. Это два автономных списка. Зачем тебе нужно порядковые номер хранить в отдельном списке?
0
Sandir
1 / 1 / 0
Регистрация: 23.04.2013
Сообщений: 37
22.08.2014, 17:33  [ТС] #29
Не обязательно порядковый номер, можно и имя, например, просто хочу научиться работать как со списками, так и с такого рода задачами.
0
22.08.2014, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2014, 17:33
Привет! Вот еще темы с ответами:

Вывести фамилии студентов средний бал которых больше 4 - C++
Дан файл содержащий фвмилии и оценки студентов по трьом предматам. Вывести фамилии студентов средний бал которых больше 4. Помогите...

Распечатать фамилии и даты рождения студентов, не получивших оценку 3 - C++
Ввести информацию о 10 студентах группы. Информация содержит фамилию, имя, отчество студента, год рождения, четыре оценки за экзамены...

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

Вывести фамилии тех студентов кому исполнилось n лет - C++
Организовать массив структур и поместить в него сведения о нескольких студентах (Фамилия, имя, отчество, дата рождения, домашний адрес,...


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

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

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