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

Определить структуру для описания важнейших исторических дат - C++

Восстановить пароль Регистрация
 
milkina
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 27
21.01.2014, 17:39     Определить структуру для описания важнейших исторических дат #1
Помогите, пожалуйста, со структурами совсем беда у меня только начали их изучать и я не совсем понимаю что и как делать

Текст задания:
Определить структуру для описания важнейших исторических дат. Ее поля - год и событие. Написать и протестировать функции:
1) сортирующую структуры по одному из полей
2) подсчитывающую интервал между датами
3) определяющую наиболее часто встречающуюся первую букву в названии событий

Заранее благодарю!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2014, 17:39     Определить структуру для описания важнейших исторических дат
Посмотрите здесь:

C++ Структура для описания понятия дата
C++ Ввести структуру для описания понятия рациональное число
C++ Ввести структуру для описания комплексного числа
C++ Построить класс для описания плоской геометрической фигуры квадрат
Построить класс для описания плоской геометрической фигуры прямоугольник C++
C++ Построить систему классов для описания плоских геометрических фигур
C++ Составить массив структур для описания сотрудников
Определить структуру для представления прямой в пространстве [Dev C++] C++
Классы для описания больницы (обсуждение) C++
C++ Напишите грамматику для описания логических выражений
C++ Разработать класс для описания и работы с треугольником
Создать класс для описания объекта и работы с ним C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6229 / 2958 / 287
Регистрация: 04.12.2011
Сообщений: 7,889
Записей в блоге: 3
21.01.2014, 20:32     Определить структуру для описания важнейших исторических дат #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
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
#include <iostream>
#include <string.h>
using namespace std;
struct GrateDay{
int day_year;
char day_name[80];
GrateDay(){
day_year=0;
strcpy(day_name,"Begin of century");
}
 
GrateDay(const int d, const char *nam){
day_year=d;
strcpy(day_name,nam);
}
 
GrateDay(const GrateDay &rhs){
day_year=rhs.day_year;
strcpy(day_name,rhs.day_name);
}
 
int interval_abs ( const GrateDay &rhs ){
    return (rhs.day_year > day_year) ? rhs.day_year - day_year : day_year - rhs.day_year;
}
 
bool operator<(GrateDay &rhs)const{
return day_year < rhs.day_year;
}
void show()const{
cout<<day_year<<"\t"<<day_name<<endl;
 
}
};
 
template <class Type>
void sort_t(Type *b, int n){
Type a;
for(int i=0; i<n-1; ++i){
int imin=i;
for(int j=i+1; j<n; ++j) if(b[j]<b[imin]) imin=j;
a=b[i];
b[i]=b[imin];
b[imin]=a;
}
}
 
char most_offen_falpha(GrateDay *alotof_grate_days,  int sz ){
 
int *first_alpha = new int[sz];
 
for(int i = 0; i < sz; ++i)first_alpha[i]=alotof_grate_days[i].day_name[0];
sort_t( first_alpha, sz );
char ret = (char)first_alpha[sz-1];
delete first_alpha;
 
return ret;
 
}
 
int main(){
const int sz = 5;
    GrateDay alotof_grate_days[sz];
alotof_grate_days[0]= GrateDay(1863, "Slavership canselation");
alotof_grate_days[1]= GrateDay(1812, "Patriotic Napoleon war");
alotof_grate_days[2]= GrateDay(1917, "Socialist revolution ");
alotof_grate_days[3]= GrateDay(1914, "First Germany war");
alotof_grate_days[4]= GrateDay(1941, "Grate patriotic war");
cout<<"input"<<endl;
for(int i = 0; i < sz; ++i) alotof_grate_days[i].show();
sort_t( alotof_grate_days, sz);
cout<<"sorted"<<endl;
for(int i = 0; i < sz; ++i) alotof_grate_days[i].show();
 
cout<<"The inteval between " <<alotof_grate_days[0].day_name<<" and "<<alotof_grate_days[2].day_name<<endl;
cout<<"is "<<alotof_grate_days[0].interval_abs(alotof_grate_days[2])<<" years"<<endl;
 
cout<<"The inteval between " <<alotof_grate_days[1].day_name<<" and "<<alotof_grate_days[3].day_name<<endl;
cout<<"is "<<alotof_grate_days[1].interval_abs(alotof_grate_days[3])<<" years"<<endl;
 
cout<<"The most offen alpha has met at begin is "<<most_offen_falpha(alotof_grate_days,sz)<<endl;
 
system("pause");
return 0;
}
Yandex
Объявления
21.01.2014, 20:32     Определить структуру для описания важнейших исторических дат
Ответ Создать тему
Опции темы

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