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

Сортировка поля структуры по возрастанию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите плз найти ошибку. http://www.cyberforum.ru/cpp-beginners/thread14655.html
Нужно написать прогу с 2 классами и наследованием. Программа загружает файл, и создает перечень (остальные функции пока убрал).Ошибка-не создает перечень. Когда все в одном классе прога работает нормально. #include <iostream.h> #include <iomanip.h> #include <fstream.h> #include <stdlib.h> #include <string.h> #include <conio.h> int nn=0; class spisok
C++ HELP!!! движение геометрических фигур Нужна помощь в написании программы движения круга на экране хотя бы чтоб двигался туда сюда по одной линии, использование методов "дров" и "мув" так вроде называются, плиз, очень нужна помощь, хотя бы как вообще нарисовать этот круг? http://www.cyberforum.ru/cpp-beginners/thread14654.html
Дано натуральное число n, выяснить имеются ли среди чисел n, n+1,...,2n близнецы C++
1.Дано натуральное число n, выяснить имеются ли среди чисел n, n+1,...,2n близнецы (парные простые числа), т.е разность между которыми равна двум.Определить подпрограмму позволяющию распознавать простые числа. Вот что у меня получилось но работает неправильно хотя по логике все вроде верно: #include <stdio.h> #include <stdlib.h> #include <math.h> #include <conio.h> float k,i,n,m,t; int...
C++ Факториал больших чисел.
1.В задаче требуется найти факториал большого числа например 500 и результат с точностью до единицы вывести на экран. Знаю только что результат должен выводится как массив.Но как это сделать не представляю. Поможите кто может.Всем заранее благодарен.
C++ Найти сумму 12 членов ряда http://www.cyberforum.ru/cpp-beginners/thread14638.html
Помогите пожалуйста, буду очень благодарна Для решения использовать рекуррентную формулу. Найти сумму ряда с точностью 10 в -4 степени. е факториал в степени н делить на н в сепени корень из е
C++ Вопрос по if, else? Как сделать так чтобы программа работала по таком принципу: 1. Проверяется первое условие если оно верно - выводится оператор за ним. 2. Проверяется второе условие если оно верно - выводится оператор за ним.(Если оба условия верны, то выводиться два оператора.) 3. Если не одно условие не выполнилось вывелся оператор, который после else. if(a == b) printf("В ЯЩИКЕ №1"); if(c == d)... подробнее

Показать сообщение отдельно
mell
0 / 0 / 0
Регистрация: 25.10.2008
Сообщений: 9

Сортировка поля структуры по возрастанию - C++

26.10.2008, 00:08. Просмотров 3051. Ответов 5
Метки (Все метки)

Здравствуйте! Есть вот такой вопрос:
Есть программа печати расписания, вот ее код
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
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
 
const int N=80; 
struct Raspisanie
{
   char pre[N]; //predmet
   char prd[N]; //prepodavatel
   char gru[N]; //nomer gruppi
   char den[N]; //den nedeli
   char cha[N]; //chasi zanatiya
   int  aud;    //auditoria
};
 
void Gen(Raspisanie* ras) //generaciya raspisaniya
{
int ran; //dannaya peremennaya hranit randomnie zna4eniya;
  char* pre[N]={"Mat.An", "Fizika", "Informatika", "Fizra", "IG"};
  char* prd[N]={"Ivanov", "Petrov", "Medvedev", "Volkov", "Suvorov"};
  char* gru[N]={"M-3-6", "M-3-7", "M-3-8", "M-3-9", "M-3-10"};
  char* den[N]={"pon", "vto", "sre", "che", "pya"};
  char* cha[N]={"08.30-10.10", "10.20-12.00", "12.20-14.00", "14.10-15.50", "16.00-15.40"};
 
ran=(rand()%5);                     //generaciya predmeta
strcpy(ras->pre, pre[ran]);
 
ran=(rand()%5);                     //generaciya prepodavatela
strcpy(ras->prd, prd[ran]);
 
ran=(rand()%5);                     //generaciya slu4ainoi gruppi
strcpy(ras->gru, gru[ran]);
 
ran=(rand()%5);                     //generaciya slu4ainogo dna
strcpy(ras->den, den[ran]);
 
ran=(rand()%4);                     //generaciya slu4ainogo vremeni
strcpy(ras->cha, cha[ran]);
 
ras->aud=(rand()%100)+(rand()%100); //generaciya auditorii
}
 
void Print (Raspisanie ras) //pechat raspisaniya
{
 cout<<"Predmet      :     "<<ras.pre<<endl;
 cout<<"Prepodavatel :     "<<ras.prd<<endl;
 cout<<"Gruppa       :     "<<ras.gru<<endl;
 cout<<"Den          :     "<<ras.den<<endl;
 cout<<"Chasi        :     "<<ras.cha<<endl;
 cout<<"Audotoria    :     "<<ras.aud<<endl<<endl<<endl;
}
 
void main()
{
 randomize();
 
 Raspisanie R[4];
 int i;
 int exit=1;
 int menu=1;
 char temp[N];
 
 for (i=0; i<4; i++) Gen(&(R[i])); //generaciya;
 
 while (exit==1)
 {
 clrscr();
 
 cout<<"Menu:"<<endl<<endl;
 cout<<"1 - Generirovat raspisanie zanovo"<<endl;
 cout<<"2 - Uporyado4ennoe po dnyam nedeli"<<endl;
 cout<<"3 - Uporyado4ennoe po chasam"<<endl;
 cout<<"4 - Vivod neuporada4ennogo raspisaniya"<<endl;
 cout<<"0 - Vihod"<<endl;
 
 cin>>menu;
 cout<<endl<<endl;
 
 switch(menu) //perebor punktov menu
 {
  case 1: for (i=0; i<4; i++) Gen(&(R[i])); break;
 
 
 
/*
  case 2: 
 
 
*/
 
/*
  case 3: 
        
 
*/
  
 
 
 
 
  case 4: for(i=0; i<4; i++)
          {
        Print (R[i]); //vivod na pe4at
          } cout<<"najmite lubuu klavishu"; getch(); break;
  case 0: exit=0; break; //prekrashenie vipolneniya programmi
  }
  }
}
В кратце: из массива строк генерируется каждое поле структуры и выводится на печать, результат вот:
Predmet : Informatika
Prepodavatel : Medvedev
Gruppa : M-3-6
Den : sre //среда
Chasi : 12.20-14.00
Audotoria : 92


Predmet : Mat.An
Prepodavatel : Ivanov
Gruppa : M-3-9
Den : pon //понедельник
Chasi : 08.30-10.10
Audotoria : 102


Predmet : Mat.An
Prepodavatel : Ivanov
Gruppa : M-3-7
Den : che //четверг
Chasi : 14.10-15.50
Audotoria : 116


najmite lubuu klavishu
Требуется следущее, чтобы при выборе case 2: все это выводилось в упорядоченном виде по дням недели, тоесть :
Predmet : Mat.An
Prepodavatel : Ivanov
Gruppa : M-3-9
Den : pon //понедельник
Chasi : 08.30-10.10
Audotoria : 102

Predmet : Informatika
Prepodavatel : Medvedev
Gruppa : M-3-6
Den : sre //среда
Chasi : 12.20-14.00
Audotoria : 92

Predmet : Mat.An
Prepodavatel : Ivanov
Gruppa : M-3-7
Den : che //четверг
Chasi : 14.10-15.50
Audotoria : 116
А при выборе case 3: все это выводилось упорядоченно по времени вот так: ну собственно как на цитате выше(так получилось случайной генерацией).

Собственно мои соображения таковы:
Попытатся отсортировать массивы(пусть пузырьковым методом) сгенерированных строк поля den по возрастанию и вывесити его как-нибудь.

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