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

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

Войти
Регистрация
Восстановить пароль
 
3StYleR
1 / 1 / 0
Регистрация: 24.12.2010
Сообщений: 26
#1

Добавление структурированных данных в дек - C++

10.12.2011, 17:19. Просмотров 538. Ответов 4
Метки нет (Все метки)

Имеется структура
Код:

C++
1
2
3
4
5
6
7
struct stud     
{
        char surname[64];
        int year;
        double mark;
        char gender[1];
};
и stl-дек
Код:

C++
1
deque <stud> dek;
Как в дек добавить данное в поле surname например?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2011, 17:19     Добавление структурированных данных в дек
Посмотрите здесь:

C++ Динамические информационные структуры данных. (Дек)
Полный дек C++
дек C++
Очередь и дек С++ C++
Обработка структурированных типов данных C++
C++ Алгоритмы поиска в структурированных множествах
C++ Последовательность структурированных переменных типа struct man
C++ Организовать добавление данных в файл, просмотр, поиск и очистку данных
C++ Структуры и файлы. Ввод структурированных данных и их запись в файл
C++ Дек-шаблон
Создать динамический дек и в нем произвести добавление элементов справа и слева C++
C++ Простой дек

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
10.12.2011, 17:53     Добавление структурированных данных в дек #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
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <deque>
using namespace std;
 
struct stud     {
  char surname[64];
  int year;
  double mark;
  char gender[1];
  stud(void){}
  stud(const char* surname) {
       strcpy(this->surname, surname);
  }
  stud(const char* surname, int year, double mark, char ch) {
       strcpy(this->surname, surname);
       this->year = year;
       this->mark = mark;
       gender[0] = ch;
  } 
};
 
 
int main(void) {
  deque<stud> deq;
 
  deq.push_back("Bob");
  deq.push_back(stud("Tom", 24, 45.95, 'X'));
 
  cout << deq.back().surname  << endl;
  cout << deq.front().surname << endl;
 
  deq.clear();
  cin.get();
  return 0;
}
3StYleR
1 / 1 / 0
Регистрация: 24.12.2010
Сообщений: 26
10.12.2011, 19:10  [ТС]     Добавление структурированных данных в дек #3
Спасибо, а как можно реализовать вывод всех элементов дека?
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
10.12.2011, 19:33     Добавление структурированных данных в дек #4
C++
1
2
3
4
5
6
7
8
9
10
11
// 1-ый способ
for(deque<stud>::const_iterator i = deq.begin(); i != deq.end(); *i++) {
   cout << i->surname << endl;
// cout << i->mark << endl;
}
 
//2-ой способ
for(size_t j = 0u; j < deq.size(); j++) {
     cout << deq[j].surname << endl;
    //...
}
3StYleR
1 / 1 / 0
Регистрация: 24.12.2010
Сообщений: 26
11.12.2011, 18:34  [ТС]     Добавление структурированных данных в дек #5
Еще такой вопрос, я хочу отсортировать дек по полю year.
Вот накидал код для проверки возможности перестановок, но у меня выдает ошибку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        char snd[64];
        int yeard;
        float markd;
        char gndrd[1];
        int i;
        for(size_t i = 0u; i < dek.size(); i++)
        {
                if (dek[i].year >= dek[i+1].year)
                {
                        strcat(snd, dek[i].surname);
                        yeard =  dek[i].year;
                        markd = dek[i].mark;
                        gndrd[0] = dek[i].gender[0];
                        strcat(dek[i].surname, dek[i+1].surname);
                        dek[i].year = dek[i+1].year;
                        dek[i].mark = dek[i+1].mark;
                        dek[i].gender[0] = dek[i+1].gender[0];
                        strcat(dek[i+1].surname, snd);
                        dek[i+1].year = yeard;
                        dek[i+1].mark = markd;
                        dek[i+1].gender[0] = gndrd[0];
                }
        }
Как можно реализовать сортировку?

Добавлено через 6 часов 16 минут
UP!!!
Yandex
Объявления
11.12.2011, 18:34     Добавление структурированных данных в дек
Ответ Создать тему
Опции темы

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