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

Как вывести на экран весь вектор? Пожалуйста, подскажите - C++

Восстановить пароль Регистрация
 
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
09.02.2014, 13:27     Как вывести на экран весь вектор? Пожалуйста, подскажите #1
Создал функцию для добавление в вектор (даже не уверен в правильности)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Homeworklist::Add(Homework h)
{
    if (a>=1) cout << "NO"; 
    else
    {
       Homework h;
       int x3, y3, z3;
       int a3, b3, c3;
       cin >>h.HomeworkName;
       cout << "Homework name: " <<  h.HomeworkName << endl;
       cin>>x3>>y3>>z3;
       Date l(x3, y3, z3);
       cout << "Date assigned: " <<  l << endl;
       cin>>a3>>b3>> c3;
       Date p(a3,b3,c3);
       cout << "Date due: "<< p << endl;
       list.push_back(h);
       a++;
    }
    
}
Функция для вывода на экран -
C++
1
2
3
4
5
6
7
void ListAll()
{
    Homeworklist mn;
    for (int i=0; i <= mn.list.size();)
    {cout << mn.list[i].HomeworkName << mn.list[i].Assigned_Date_1 << mn.list[i].GetDue_Date_2 << endl;
    
}
Программа пишет vector subscribe out of range
Как можно исправить? Спасибо за ответы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 13:27     Как вывести на экран весь вектор? Пожалуйста, подскажите
Посмотрите здесь:

подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... C++
C++ Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива
C++ Подскажите пожалуйста, как правильно вывести,сформировать массив из задания
C++ Подскажите, пожалуйста, как вывести на экран двумерный массив
Поделить вектор х на 10, вывести полученный массив на экран. Найти произведение отрицательных элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
09.02.2014, 13:28     Как вывести на экран весь вектор? Пожалуйста, подскажите #2
C++
1
 for (int i=0; i < mn.list.size();)
Меньше, а не меньше или равно!!!!
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
09.02.2014, 13:42     Как вывести на экран весь вектор? Пожалуйста, подскажите #3
В нулевом приближении должно быть так:
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
void Homeworklist::Add(Homework &h) // Передаем по ссылке, чтобы можно было менять
{
    if (a>=1) cout << "NO"; 
    else
    {
       int x3, y3, z3;
       int a3, b3, c3;
       cin >>h.HomeworkName;
       cout << "Homework name: " <<  h.HomeworkName << endl;
       cin>>x3>>y3>>z3;
       Date l(x3, y3, z3);
       cout << "Date assigned: " <<  l << endl; // А в классе Date есть операция вывода в поток?
       cin>>a3>>b3>> c3;
       Date p(a3,b3,c3);
       cout << "Date due: "<< p << endl;
       list.push_back(h);            // переменная list определена?
       a++;
    }
    
}
void ListAll(vector<Homework> v)
{
    vector<iHomework>::iterator itF=v.begin();
    vector<Homework>::iterator itL=v.end();
    for(;itF!=itL;++itF)
    {
          cout<<itF->HomeworkName <<" ";
          cout<<itF->Assigned_Date_1 <<" ";
          cout<<itF->GetDue_Date_2 << endl;
    }
}
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
09.02.2014, 13:56  [ТС]     Как вывести на экран весь вектор? Пожалуйста, подскажите #4
Цитата Сообщение от zss Посмотреть сообщение
В нулевом приближении должно быть так:
пишет, что iHomework не определен, как его можно определить?
itF=v.begin(); здесь на переменную v жалуется компилятор
а здесь for(;itF!=itL;++itF) отсутствует оператор !=
Как можно исправить? Пожалуйста, помогите
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
09.02.2014, 13:59     Как вывести на экран весь вектор? Пожалуйста, подскажите #5
Цитата Сообщение от bekabot Посмотреть сообщение
пишет, что iHomework не определен, как его можно определить?
Ну уж неужели такую опечатку самостоятельно исправить нельзя!
Yandex
Объявления
09.02.2014, 13:59     Как вывести на экран весь вектор? Пожалуйста, подскажите
Ответ Создать тему
Опции темы

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