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

Реализация сравнения данных в массиве в классах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скажите, что не так делаю! http://www.cyberforum.ru/cpp-beginners/thread277973.html
Пишет, что ошибка в строчке int T =... #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { int **T,N,M,i,j; int T = { {1,0,0,0,0,1,1}, {0,1,1,0,0,0,0}, {0,0,1,0,0,0,0},
C++ Ошибка в коде Вот условие: на каждом этаже трехэтажного дома жилых 6 комнат, каждая из которых имеет форму пря-моугольника. Длина и ширина каждой комнаты известны. Определить, какой из этажей дома име-ет минимальную жилую площадь. Если таких несколько, то вывести хотя бы одного из них. (выделить память с помощью calloc и изменить индексацию с единицы) Вот сам код: ... http://www.cyberforum.ru/cpp-beginners/thread277971.html
C++ Можно сделать так чтобы каждый раз не вводить матрицу?
Надо написать программу,но сначала я хочу попробовать на примере, но матрица слишком большая и хотелось бы чтоб не каждый раз набирать матрицу #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { int **T,N,M,i,j; cout << "kol-vo strok v matr"; cin >> N;
Разработать шаблонный класс "дек" на основе односвязного списка C++
3. Разработать шаблонный класс "дек" на основе односвязного списка. Реализовать операции: - добавить элемент в начало дека - добавить элемент в конец дека - извлечь из дека первый элемент - извлечь из дека последний элемент - получить значение первого элемента (не удаляя его) - получить значение последнего элемента (не удаляя его) - получить количество элементов в деке - очистить дек...
C++ вызов консоли с длл http://www.cyberforum.ru/cpp-beginners/thread277936.html
Доброго времени суток столкнулся с такой проблемой... в консоль нельзя вводить с клавиатуры... заранее спасибо string command; int console() { AllocConsole();
C++ Генерация неравномернораспределенной псевдослучайной последовательности Здравствуйте. Смысл задания в следующем: - Нужно сгенерировать последовательность 0-ей и 1-ц. При этом; -- В программе вводится вероятность появления 0-ей (или 1-ц) т.е. Вводим вероятность 0.2 и в итоге получаем массив из 10 элементов, где два элемента нули (единицы), остальные единицы (нули). Как это реализовать на C++? подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
3021 / 1677 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
17.04.2011, 15:09     Реализация сравнения данных в массиве в классах
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
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
/////////////////////////////////////////////////////////////////////////////////////////
using namespace std;
/////////////////////////////////////////////////////////////////////////////////////////
//базовый класс "участник соревнований"
/////////////////////////////////////////////////////////////////////////////////////////
class Participate
{ 
protected:
    T_str  FIO;    //ФИО
    int    age;    //возраст
    int    height; //рост
    int    weight; //вес
 
public:
    Participate();    
    virtual       ~Participate() {};
    virtual void  Display();//вывод инфы о участнике
    friend void   TheBest(Participate* p[100], size_t  p_size);
};
/////////////////////////////////////////////////////////////////////////////////////////
void  TheBest(Participate* p[100], size_t  p_size)
{
    struct  T_weights_comp
    {
        bool  operator() (const Participate* const L, const Participate* const R)
        {
            return L->weight < R->weight;    
        }
    };
    //функция определения самого лёгкого спортсмена(и обязательно дружественная).
    std::nth_element(p, p, p + p_size, T_weights_comp());
    return  p[0]->Display();
}
/////////////////////////////////////////////////////////////////////////////////////////
Participate::Participate()
{ 
    //добавление нового участника
    cout << "\nФ.И.О.:"; 
    cin >> FIO;
    cout << "\nВозраст:"; 
    cin >> age;
    cout << "\nРост:"; 
    cin >> height;
    cout << "\nВес:"; 
    cin >> weight;
}
/////////////////////////////////////////////////////////////////////////////////////////
void Participate:: Display()
{    
    cout << "\nФ.И.О.: "  << FIO;
    cout << "\nВозраст: " << age;
    cout << "\nРост: "    << height;
    cout << "\nВес: "     << weight;
}
/////////////////////////////////////////////////////////////////////////////////////////
//производный класс "участник по плаванию"
/////////////////////////////////////////////////////////////////////////////////////////
class Swim : public  Participate
{
protected:
    int timer;//время
 
public:
    Swim();
    virtual       ~Swim(){}
    virtual void  Display(); //вывод описания 
};
/////////////////////////////////////////////////////////////////////////////////////////
Swim::Swim()
{
    //ввод результирующего времени
    cout << "\nВведите результирующее время: "; 
    cin  >> timer;
}
/////////////////////////////////////////////////////////////////////////////////////////
void Swim::Display()
{
    cout << "\nУчастник соревнования по плаванию: ";
    Participate::Display();
    cout << "\nРезультирующее время: " << timer;
}
/////////////////////////////////////////////////////////////////////////////////////////
// производный класс "участник по стрельбе"
/////////////////////////////////////////////////////////////////////////////////////////
class Gun : public  Participate
{ 
protected:
    int bal; //набранные баллы
 
public:
    Gun();
    virtual ~ Gun(){}
    virtual void Display();//вывод описания
};
/////////////////////////////////////////////////////////////////////////////////////////
Gun::Gun():Participate()
{
    //ввод набранных баллов
    cout << "\nНабранные баллы: ";  cin >> bal;
}     
/////////////////////////////////////////////////////////////////////////////////////////
void Gun::Display()
{
    cout << "\nУчастник соревнования по стрельбе: ";
    Participate::Display();
    cout << "\nНабранные баллы: " << bal << "\n";
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{ 
    std::locale::global(std::locale(""));
 
    int nMenu, flag = 1, kol;
    int k = 0; //индекс нового участника
    Participate* p[100];
    cout << "\nКоличество участников: ";cin >> kol;
    while(k < kol && flag)
    { 
        // вывод пунктов меню
        cout << "\nНовый участник. Введите: " << endl;
        cout << "1-участник по плаванию, 2-участник по стрельбе, 3-выход\n";
        cin >> nMenu;
        switch (nMenu)
        { 
        case 1 : p[k++] = new Swim(); break;
        case 2 : p[k++] = new Gun(); break;
        default : flag = 0; break;
        }  
    }
    cout << "\n\n\n!!!!!!!!!!!!!!!!!!!!!!!!Самый лёгкий спортсмен!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
 
    //вывод того самого спорсмена
    TheBest(p, kol);
 
    cout << "\n\n\n------------------------Полный список------------------------------\n";
    // вывод описаний
    for (int id = 0; id < kol; id++)
    {
        p[id]->Display();
        cout << "\n_______________________________________________________________\n\n";
        delete p[id];
    }
}
 
Текущее время: 06:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru