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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 100, средняя оценка - 4.96
lelik759
0 / 0 / 0
Регистрация: 07.10.2009
Сообщений: 29
#1

Вывод содержимого вектора на экран - C++

01.11.2009, 17:02. Просмотров 17213. Ответов 12
Метки нет (Все метки)

Добрый день ! Есть задача :

Объявите вектор a_vec с элементами целого типа и заполните его произвольными значениями.Предположим,что размер вектора неизвестен,однако,несмотря на это,необходимо выполнить вывод вектора на экран,объявите итератор для vector<int>.Выполните вывод содержимого вектора a_vec на экран,использую при этом операцию разыменования итератора ,а так же значение итератора начального элемента a_vec.begin() и элемента следующего за конечным a_vec.end().

Оформите полученную программу в виде самостоятельной функции show_vector().Эта функция должна принимать ссылку навектор и выводить этот вектор на экран. посмотрите правильно ли я сделал первую часть задания ?

C++
1
2
3
4
5
6
7
8
9
10
# include <vector>
# include <algorithm>
 
int main() {
   std::vector<int> a_vec(4,8);
   std::cout << "Сoдержимое вектора : " ;
   std::copy(a_vec.begin(), a_vec.end(), std::ostream_iterator<int>(std::cout, " "));
 
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2009, 17:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод содержимого вектора на экран (C++):

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

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

буфер (вывод содержимого на экран) - C++
нужно вывести содержимое буфера на экран (для проверки). в сети нашла только пример записи в буфер. подскажите пожалуйста,как написать...

Вывод на экран содержимого файла - C++
Напишите программу, которая выводит на экран содержимое файла A:\numbers.txt. За ранние спасибо!

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

Ввод и вывод содержимого файла на экран - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; using namespace std; int main() { ofstream file; file.open(&quot;file1.dat&quot;);//создал...

12
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
01.11.2009, 17:37 #2
А что должно появиться на экране? У меня вылезло 8 8 8 8.
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.11.2009, 18:21 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
using namespace std;
void show_vector( vector<int>&a)
{
    for (vector<int>::iterator it = a.begin() ; it!=a.end() ; ++it)
        cout<<*it;
}
int main()
{
    int x;
    vector<int>a;
    while (cin>>x)
        a.push_back(x);
    show_vector(a);
    return 0;
}
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.11.2009, 19:47 #4
Андрейка, а для чего еще одна функция? std::copy() не достаточно?

Добавлено через 1 минуту
Цитата Сообщение от Даемоник Посмотреть сообщение
А что должно появиться на экране?
а как ты думаешь?
Цитата Сообщение от lelik759 Посмотреть сообщение
a_vec(4,8);
Добавлено через 33 секунды
Цитата Сообщение от lelik759 Посмотреть сообщение
Оформите полученную программу в виде самостоятельной функции show_vector()
бред сивой кобылы
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.11.2009, 20:07 #5
достаточно конечно ) но эт у неё ( думаю что лёлик - она))) по заданию функцию show_vector создать я вот так и подумал что с помощью итератора последовательно выводить а то смысл какой вобще делать функцию передавать объект туда и использовать функцию std::copy ) наверно в универе такие задания дают )
0
lelik759
0 / 0 / 0
Регистрация: 07.10.2009
Сообщений: 29
01.11.2009, 22:17  [ТС] #6
Если следовать условию моего задания ,листинг должен выглядеть вот так ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
using namespace std;
void show_vector( vector<int>&a_vec)
{
        for (vector<int>::iterator it = a_vec.begin() ; it!=a_vec.end() ; ++it)
                cout<<*it;
}
int main()
{
 
        vector<int>a_vec(3,777);       
        show_vector(a_vec);
        return 0;
}
Друзья,если не сложно поставьте комментарии возле каждой строки кода ,чтобы я мог разобраться что к чему.

И как получить исполняемый файл данной программы ?
Спасибо.
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.11.2009, 22:39 #7
lelik759, с объектно - ориентированным программированием знакомы?
0
lelik759
0 / 0 / 0
Регистрация: 07.10.2009
Сообщений: 29
01.11.2009, 22:45  [ТС] #8
Очень слабо,пытаюсь самостоятельно изучать С++
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.11.2009, 22:58 #9
ну так я бы предложил сначала чтобы основы stl изучить почитать про шаблоны функций и классов чтобы была понятна конструкция почему всё таки пишут vector<int> скорее всего ты понимаешь это как массив целых значений это конечно всё примерно так но почитай чтобы было не примерно а точно
скачай книгу Лена Аммераля stl для программистов там не предполагается углубленное знание ООП и вначале даются основные понятия про шаблоны чтобы вникнуть как оно всё это работает.
1
lelik759
0 / 0 / 0
Регистрация: 07.10.2009
Сообщений: 29
02.11.2009, 01:21  [ТС] #10
Мне хотелось бы увидеть комментарий по 6 строке ,с остальным вроде понятно.
Как раз читаю Лена Аммераля stl для программистов и Джесс_Либерти-Освой_Cpp_самостоятельно_за_21_день.
Просто конрольная на носу по шаблонам ,поэтому паралелльно пытаюсь разобраться с заданиями.К каждой сущуственной строке необходим комментарий ,поэтому и спросил.
niXman,

Добавлено через 1 час 27 минут
И все таки как должно выглядеть окончательное решение этого задания подскажите пожалуйста ?
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
02.11.2009, 13:07 #11
lelik759, итератор это объект служащий для перебора элементов контейнера работа похожа на работу указателя чтобы получить значение на которое указывает итератор его нужно разименовать чтобы перейти к следующему элементу контейнера его нужно инкрементировать.
1
lelik759
0 / 0 / 0
Регистрация: 07.10.2009
Сообщений: 29
03.11.2009, 00:38  [ТС] #12
Андрейка,У меня в задании указано,что вектор необходимо заполнить произвольными значениями и вывести их на экран с помощью разыменовывания итератора ,подскажите как это сделать?

Есть вопрос насчет программы - с циклом FOR мне понятно , с помощью его идет переборка контейнера от начала до конца и выводятся его значения .

А что делает цикл WHILE (условие выполнения цикла CIN>>)Как я понял с помощью этого цикла ,введенное значение х должно добавлятся в конец контейнера ? но при компиляции данной программы пишется "No errors or program output. " То есть ошибок в программе нет ,но она и ничего не делает .
Еще раз напомню основной вопрос : заполнить произвольными значениями и вывести их на экран с помощью разыменовывания итератора ,подскажите как это сделать? Спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <vector>
using namespace std;
void show_vector( vector<int>&a)
{
        for (vector<int>::iterator it = a.begin() ; it!=a.end() ; ++it)
                cout<<*it;
}
int main()
{
        int x;
    
        vector<int>a;
        while (cin>>x)
                a.push_back(x);
        show_vector(a);
        return 0;
}
0
vvm28
Учусь всегда.
19 / 20 / 4
Регистрация: 22.12.2013
Сообщений: 208
Записей в блоге: 11
Завершенные тесты: 1
15.02.2016, 17:14 #13
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
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <vector>
#include <cstdlib> // содержит srand() и rand() для GNU компилятора поставить опцию -std=gnu++11
/*
vvm28
*/
 
using namespace std;
void show_vector( vector<int>&a)
{
        for (vector<int>::iterator it = a.begin() ; it!=a.end() ; ++it)
                cout<<*it<<" ";
}
 
// заполнить n ячеек вектора псевдиками
void random_push_back_vector( vector<int>&a, int n)
    {
      for (int i=0; i<n; ++i)
          {
              a.push_back(rand()); // здесь можете заполнять не псевдослучайными а случайными например в некотором диапазоне
          }
 
    }
 
int main()
{
       // int x;
 
        vector<int> a;
        /*
        while (cin>>x)
                a.push_back(x);
                */
 
 
         random_push_back_vector(a,12); // заполним 12 элементов вектора псевдослучайными, произвольными
 
        show_vector(a);
        return 0;
}
0
15.02.2016, 17:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2016, 17:14
Привет! Вот еще темы с ответами:

Чтение файла и вывод его содержимого на экран - C++
помогите разобраться с чтением файла и выводом его содержимого на экран... а то что ни как не получается... запутался... :wall:

Вывод вектора на экран - C++
#include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;ostream&gt; #include &lt;vector&gt; #include &lt;string&gt; using...

Вывод значений вектора на экран - C++
есть правильно заполненный вектор: vector&lt;Employee*&gt; emp; один из экземпляров: Bytime bt1(&quot;Ahmed&quot;, 2, 6.0); необходимо...

Вывод вектора на экран (классы) - C++
Доброй ночи. Вкратце: есть класс банк и есть класс группа банков (который состоит из множества банков). Хочу сделать так , что б можно...


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

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

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