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

Вывод вектора, элементами которого являются структуры - C++

Восстановить пароль Регистрация
 
sly4ainaya
2 / 2 / 0
Регистрация: 11.03.2011
Сообщений: 49
18.03.2011, 21:45     Вывод вектора, элементами которого являются структуры #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct frequency_table 
{
    string symbol;
    int n;
    double W;
};
void fout(frequency_table &ft_1, ofstream &oo)
{
    oo<<ft_1.symbol<<" "<<ft_1.n<<" "<<ft_1.W<<endl;
};
// ...
copy(input_byte.begin(), input_byte.end(), ostream_iterator<frequency_table>(out, "\n"));
последняя функция может вывести вектор, но не может вывести то. что внутри него.. а как тут перегружать, я не знаю..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2011, 21:45     Вывод вектора, элементами которого являются структуры
Посмотрите здесь:

C++ Поиск в деке, элементами которого являются фигуры
Сформировать массив, элементами которого являются числа 2,1,4,3,6,5,...,100,99 C++
C++ Список элементами которого являются очереди
Сформировать массив ИМ (100), элементами которого являются числа... C++
C++ Формирование массива, элементами которого являются цифры числа N
C++ Построить бинарное дерево, элементами которого являются числа
C++ Создать массив, элементами которого являются структуры – список учеников
Сформировать массив В, элементами которого являются нули и единицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vandris
 Аватар для Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 90
18.03.2011, 22:23     Вывод вектора, элементами которого являются структуры #2
можно перегрузить например так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
struct frequency_table
{
    string symbol;
    int n;
    double W;
    friend ostream &operator << (ostream &out, frequency_table &ft)
    {
        out << ft.symbol<<" "<<ft.n<<" "<<ft.W<<endl;
        return out;
    }
};
 
int main()
{
    frequency_table f;
    f.symbol = "test";
    f.n = 20;
    f.W = 12.435;
    cout << f;
}
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
18.03.2011, 22:37     Вывод вектора, элементами которого являются структуры #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
32
33
34
#include <vector>
#include <iostream>
#include <iterator>
#include <string>
#include <algorithm>
#include <ctime>
#include <cstdlib>
 
struct FrequencyTable {
  std::string symbol;
  int n;
  double W;
  FrequencyTable() : symbol(""),
                     n(rand() % 100), W((rand() % 1000) / 100.){
    for (int i = 0; i < 7; ++i)
      symbol += rand() % ('z' - 'a' + 1) +  'a';
  }
};
 
std::ostream& operator<<(std::ostream &stream,
                         const FrequencyTable &frequency_table) {
  stream << "Symbol: " << frequency_table.symbol << std::endl
         << "N: "      << frequency_table.n << std::endl
         << "W: "      << frequency_table.W << std::endl;
  return stream;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  std::vector<FrequencyTable> array(5);
  std::copy(array.begin(), array.end(),
            std::ostream_iterator<FrequencyTable>(std::cout, "\n"));
  return 0;
}
Yandex
Объявления
18.03.2011, 22:37     Вывод вектора, элементами которого являются структуры
Ответ Создать тему
Опции темы

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