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

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

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

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

09.02.2014, 13:27. Просмотров 372. Ответов 4
Метки нет (Все метки)

Создал функцию для добавление в вектор (даже не уверен в правильности)
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
Как можно исправить? Спасибо за ответы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 13:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вывести на экран весь вектор? Пожалуйста, подскажите (C++):

Подскажите, пожалуйста, как вывести на экран двумерный массив - C++
Нужно вывести двумерный массив , состоящий только из 6, т.е. 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 и потом...

Подскажите пожалуйста как заполнить весь массив структур структурой p1 - C++
Подскажите пожалуйста как заполнить весь массив структур структурой p1; { struct Univer{ char fam; char kaf; char...

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

подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... - C++
подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... эт надо очень срочно....

Вывести на экран каждый третий элемент файла, не читая весь файл - C++
Надо вывести на экран каждый третий элемент файла не читая весь файл

С помощью рекурсии вывести на экран весь диапазон между заданными числами - C++
Ребята помогите понять рекурсию, буду очень благодарен! Например задача: ввести из клавиатуры 2 числа, и з помощю рекурсии вывести на...

4
zss
Модератор
Эксперт С++
6478 / 6041 / 1982
Регистрация: 18.12.2011
Сообщений: 15,654
Завершенные тесты: 1
09.02.2014, 13:28 #2
C++
1
 for (int i=0; i < mn.list.size();)
Меньше, а не меньше или равно!!!!
0
zss
Модератор
Эксперт С++
6478 / 6041 / 1982
Регистрация: 18.12.2011
Сообщений: 15,654
Завершенные тесты: 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;
    }
}
0
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
09.02.2014, 13:56  [ТС] #4
Цитата Сообщение от zss Посмотреть сообщение
В нулевом приближении должно быть так:
пишет, что iHomework не определен, как его можно определить?
itF=v.begin(); здесь на переменную v жалуется компилятор
а здесь for(;itF!=itL;++itF) отсутствует оператор !=
Как можно исправить? Пожалуйста, помогите
0
zss
Модератор
Эксперт С++
6478 / 6041 / 1982
Регистрация: 18.12.2011
Сообщений: 15,654
Завершенные тесты: 1
09.02.2014, 13:59 #5
Цитата Сообщение от bekabot Посмотреть сообщение
пишет, что iHomework не определен, как его можно определить?
Ну уж неужели такую опечатку самостоятельно исправить нельзя!
0
09.02.2014, 13:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 13:59
Привет! Вот еще темы с ответами:

Функция: заполнить вектор простыми числами и вывести их на экран - C++
Задача: Написать функцию, которая заполняет вектор простыми числами и выводит их на экран. Проблема: Не добавляется &quot;2&quot; в начало...

матрица на вектор, вроде правильно, а вектор на матрицу? посмотрите пожалуйста? - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { ...

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

Как объявить массив на 5 элементов, вывести на экран, проинициализировать его и снова вывести на экран? - C++
как объявить массив на 5 элементов, вывести на экран, проинициализировать его и снова вывести на экран?


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

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

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