1 / 1 / 0
Регистрация: 21.03.2015
Сообщений: 15
1

Как вывести элементы вектора, являющиеся членами класса?

02.07.2015, 12:03. Показов 375. Ответов 6
Метки нет (Все метки)

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
#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
 
    typedef struct moment{
        int h,m,s;
    }moment;
 
    int main()
    {
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
        int n,x,hh,mm,ss;
 
        cin>>n;
        vector<moment> v(10);
        for(int i=0;i<n;i++){
                cin>>hh>>mm>>ss;
            moment q;
            q.h=hh;
            q.m=mm;
            q.s=ss;
            v[i]=q;
        }
        for(int i=0;i<n;i++){
                cout<<v[i];
        }
 
    return 0;
}
Я не понимаю почему не работает.
В 27 строке что-то .
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.07.2015, 12:03
Ответы с готовыми решениями:

Вывести элементы массива, являющиеся палиндромами
Вывести на экран элементы массива являющиеся ПОЛИНДРОМАМИ

Как вывести элементы двумерного вектора через итератор?
int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); using namespace std; ...

Вывести все элементы массива, являющиеся простыми числами
Добрый вечер,форумчане. Не могу разобраться с учебной задачей. Задача: Дан одномерный массив....

Матрица. Вывести элементы матрицы, являющиеся простыми числами
дана целочисленная матрица размера КхР. вывести на печать элементы матрицы, являющиеся простыми...

6
Don't worry, be happy
17164 / 10048 / 1934
Регистрация: 27.09.2012
Сообщений: 25,035
Записей в блоге: 1
02.07.2015, 12:04 2
Цитата Сообщение от Ленив Посмотреть сообщение
Я не понимаю почему не работает.
C++
1
cout<<v[i];
откуда "он знает", как "выводить" объект класса moment?
0
1 / 1 / 0
Регистрация: 21.03.2015
Сообщений: 15
02.07.2015, 12:07  [ТС] 3
А как ему сказать о том как выводить ?
0
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
02.07.2015, 12:11 4
Ну самый простой способ это поэлементно:

C++
1
2
3
cout<<v[i].h << endl;
cout<<v[i].m << endl;
cout<<v[i].s << endl;
0
1 / 1 / 0
Регистрация: 21.03.2015
Сообщений: 15
02.07.2015, 13:57  [ТС] 5
спасибо я заменил вывод теперь работает
0
2722 / 1886 / 559
Регистрация: 05.06.2014
Сообщений: 5,499
02.07.2015, 19:09 6
Цитата Сообщение от Ленив Посмотреть сообщение
А как ему сказать о том как выводить ?
C++
1
2
3
4
5
ostream&operator<<(ostream&stream,const moment&value)
{
    stream<<value.n<<" "<<value.m<<" "<<value.s<<endl;
    return stream;
}
0
:)
Эксперт С++
4769 / 3263 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
02.07.2015, 19:28 7
Renji, endl всё же не стоит добавлять в перегруженный оператор.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2015, 19:28

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Элементы массива, являющиеся цифрами числа n, вывести на экран
Дано натуральное число n (n &lt;= 999999). Заполнить массив его цифрами, расположенными в об¬ратном...

Вывести элементы массива являющиеся квадратами четных чисел
Элементы массива-целые числа, равномерно распределенные в интервале . Вывести на печать (в консоле)...

Вывести на экран элементы массива, являющиеся простыми числами
Дан вектор с n целыми эл-тами, 1&lt;=n&lt;=100. Написать программу, которая выводит на экран эле-нты...

Вывести все элементы массива, являющиеся трехзначными числами
Пользователь вводить натуральные числа, и на экран должны вывестись только трехзначные program...


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

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

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