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

Сформировать стек из N студентов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти матрицу С http://www.cyberforum.ru/cpp-beginners/thread1065917.html
Помогите выполнить данное задание. Нигде не могу найти теорию и даже не представляю как его решать.
C++ Написать подпрограмму вычисления площади по герону как правильно записать подпрограмму вычисления площади по герона. У меня результат показывает -1.#ІND00. Где ошибка? помогите пожалуйста:cry::cry::cry:#include <stdio.h> #include <math.h> #include <conio.h> float plozcha(float stor1,float stor2,float stor3){ float R= (stor1+stor2+stor3)/2; float S=sqrt(R*(R-stor1)*(R-stor2)*(R-stor3)); return S; http://www.cyberforum.ru/cpp-beginners/thread1065896.html
C++ Расположить элементы матрицы так, чтобы на побочной диагонали были бы максимальные элементы строк
Доброго времени суток. помогите пожалуйста с задачей последняя осталась) Расположить элементы матрицы M, так чтобы на побочной диагонали были бы максимальные элементы строк.
Почему в MSVC++ 2008 компилируется, а в MSVC++ 2010 вылезает много ошибок? C++
Кстати, перед запуском в 2010 предлагает конвертировать код. Ну а чем эти две студии отличаются, что вызывает большое количество ошибок?
C++ Стоит ли использовать "Вихрь Мерсенна" (std::mt19937)? http://www.cyberforum.ru/cpp-beginners/thread1065878.html
Чем он отличается от "обычного" stdlib'ного ГПСЧ? Генерирует ли он более... качественные ПСЧ? И зачем он вообще нужен?
C++ Ошибка при заполнении массива структур Доброго времени суток и Всех с Новогодними праздниками! В моем задании нужно ввести массив строк символов про успеваемость студентов: фамилия, №зачетки и оценки с 5 предметов. Переписать массив структур в двунаправленный список, записать его в файл и вывести на экран. Кроме этого посчитать средний бал по 5 предметам каждого студента и вывести в отдельную колонку. Исключить из списка студентов... подробнее

Показать сообщение отдельно
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
09.01.2014, 16:43     Сформировать стек из N студентов
Как то так
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <iostream>
#include <stack>
#include <set>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
#include <numeric>
 
const unsigned int maxMark = 4;
 
class Person
{
  private:
          std::string name;
          std::string surname;
          std::string patronymic;
  private:
          void swap(Person & p)
          {
               name = p.getName();
               surname = p.getSurname();
               patronymic = p.getPatronymic();
          }
  public:
         Person(std::string _name = "none", std::string _surname = "none", 
                std::string _patronymic = "none") : name(_name), surname(_surname), 
                patronymic(_patronymic){}
         
         void setName(std::string n){ name = n; }
         void setSurname(std::string s){ surname = s; }
         void setPatronymic(std::string p){ patronymic = p; }
         
         std::string getName()const{ return name; }
         std::string getSurname()const{ return surname; }
         std::string getPatronymic()const{ return patronymic; }
         
         virtual void print()const
         {
          std::cout << name << " " << surname << " " << patronymic; 
         }
         const Person & operator= (const Person & p)
         {
            if(this != &p)
              Person(p).swap(*this);
            return *this;       
         }
         friend bool operator< (const Person & p1, const Person & p2)
         {
              // нужно сравнение
              return p1.getName() < p2.getName();
         }
};
 
class Student
{
  private:
          Person person;
          std::string group;
          std::vector<int> mark;
          int avarage;
  private:
          void swap(Student & stud)
          {
              person.setName(stud.getPerson().getName());
              person.setSurname(stud.getPerson().getSurname());
              person.setPatronymic(stud.getPerson().getPatronymic());
              group = stud.getGroup();
              mark = stud.getMark();
              avarage = stud.getAvarage();
          }
  public:
         Student(std::string _name = "none", std::string _surname = "none", 
                std::string _patronymic = "none", std::string _group = "none") 
                :  group(_group)
                {
                     person.setName(_name);
                     person.setSurname(_surname);
                     person.setPatronymic(_patronymic);
                     mark.resize(maxMark);
                     avarage = 0;
                }
         Student(const Student & stud)
         {
              person.setName(stud.getPerson().getName());
              person.setSurname(stud.getPerson().getSurname());
              person.setPatronymic(stud.getPerson().getPatronymic());
              group = stud.getGroup();
              mark = stud.getMark();
              avarage = stud.getAvarage();
         }
         
         void addMark(int m)
         { 
           if(mark.size() < maxMark)
             mark.push_back(m); 
         }
         
         void setPerson(Person p)
         { 
              person.setName(p.getName());
              person.setSurname(p.getSurname());
              person.setPatronymic(p.getPatronymic());
         }
         
         void setGroup(std::string g){ group = g; }
         void setAvarage(int av){ avarage = av; }
         
         Person getPerson()const
         { 
           return Person(person.getName(), person.getSurname(), person.getPatronymic()); 
         }
         
         std::string getGroup()const{ return group; }
         std::vector<int> getMark()const{ return mark; }
         int getAvarage()const
         { 
           return std::accumulate(mark.begin(), mark.end(),0) / mark.size(); 
         }
         
         virtual void print()const
         {
            person.print();
            std::cout << "Number group : " << group << std::endl;
            std::copy(mark.begin(), mark.end() , std::ostream_iterator< int >(std::cout, " "));
         }
         
         friend bool operator<(const Student & stud1, const Student & stud2)
         {
              // нужно сравнение
              return stud1.getPerson() < stud2.getPerson() && stud1.getGroup() < stud2.getGroup();
         }
         
         const Student & operator= (const Student & stud)
         {
            if(this != &stud)
              Student(stud).swap(*this);
            return *this;       
         }
         
         
};
 
int main()
{   
  unsigned int COUNT;
  std::cout << "Input count students : " << std::endl; std::cin >> COUNT;
  
  // вам осталось создать стек и множество
  // перебрать стек, если среднее значение оценок >= 4 то вывести на экран
  // иначе записать в множество 
  
  // показать множество на экран
    
  system("PAUSE");
  return 0;
}
 
Текущее время: 05:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru