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

Отсортировать элементы масс. структуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Прочитать программу на языке C++ и удалить все комментарии http://www.cyberforum.ru/cpp-beginners/thread191170.html
кто-нибудь)помогите написать эту программу=\
C++ Цыклический вычеслительный процес вот задание , как по алгоритму написать программу? http://www.cyberforum.ru/cpp-beginners/thread191161.html
C++ Перевод из Pascal на язык С.
Помогите пожалуйста перевести на язык С !!!! uses Crt; const k=4; a1=3.7718; a2=5,5168; a3=3,5245; f=1; n=3; h=0.05; w1=0.5; w2=7.5; var x,m1:real; i,j,m:integer; y,p,g:array of real;
Помогите с прогой к Госекзамену C++
Класс "Число": количество цифр, основа системы исчисления. Производные: "целое" (наличие знакового разряда), "действительное" (наличие знакового разряда, длина дробной части, форма представления (static)), определить функцию print - для каждого класса с разной реализацией: просто значения или с указанием типа. В обоих классах перегрузить бинарную операцию "/", в соответствии с привычной...
C++ Определить структуру "окружность". http://www.cyberforum.ru/cpp-beginners/thread191145.html
Определить структуру, описывающую окружность. Структура должна содержать информацию о четырех координатах на плоскости квадрата,в которой вписана эта окружность (X1, Y1, X2, Y2, X3, Y3, X4, Y4). Создать и проинициализировать 4 объекта данной структуры. Написать функцию,принимающую в качестве аргументов 2 объекта,описывающих окружности. Функция должна проверить,пересекаются ли эти окружности.Если...
C++ Лабораторные работы. 1. Програма обчислення радіуса круга з центром в (х0,у0), дотичного до прямої y=kx+b. 2. Програма, яка визначала б, чи є трикутник, заданий вершинами кутів A(xA,yA), B(xB,yB), C(xC,yC), рівнобедреним. 3. Програма, яка визначала б, чи поміститься квадрат, що має площу Sкв., в круг площею Sкр.. 4. Використовуючи оператор варіанту, розробити алгоритм і програму обчислення функції двох змінних... подробнее

Показать сообщение отдельно
erro1
0 / 0 / 0
Регистрация: 14.11.2010
Сообщений: 10
15.11.2010, 18:31  [ТС]     Отсортировать элементы масс. структуры
наверное надо проверять для каждой группы
Спасибо. Правда сегодня на парах меня осенило, и я сделал немного иначе. Создал 2-мерный массив, в 1-ом столбце я расположил все возможные неповторяющийся группы, а во втором - ихний средний бал. Но программа все равно некорректно работает, например: 6 студентов из груп 2, 2, 2, 5, 1 , 5 ; в 1-ом столбце будет 2 5 1, а во 2-ом бред выходит. (1-ое среднее = среднему баллу первого студента, 2-ое среднее = сумме баллов 2-го и 3-го студента).Помогите найти ошибку ,пожалуйста, буду очень БЛАГОДАРЕН
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
#include <iostream.h>
#include <string.h>
#include <conio.h>
#define kol 20
 
int k=0,i,j,E,z;
struct tag_fio 
    {
    char first[41]; //surname
    char last[41];  //name
    char otch[41];  //patronymic
    };
struct birth 
    {
    int day;
    int month;
    int year;
    };
struct student 
    {
    float group;
    int kurs;
    int mark[3];
    float aver; //stud's aver. score
    struct tag_fio fio;
    struct birth dob;
    } *stud; 
        
int main(){
    cout<<"A program for collecting information from the certification card,====\n";
    cout<<"sorting students into groups and displaying the group average score.=\n";
    cout<<"=====================================================================";
    stud = new student[k];
    cout<<endl<<endl<<"Kol-vo studentov - ";cin>>k;
    //function defination
    void input(student *stud,int n);
    void grupAver();
    //function call
    input(stud,k);
    grupAver();
}
void input(student *stud,int n) {
    cout<<endl<<"Vvedite sled. infu: ";
    cout<<endl<<endl;
    for(i=0;i<k;i++) 
        {
        stud[i].aver = 0;
        cout<<endl<<"Student # "<<i+1<<endl;
            /* Дабы не тратить время, эту часть кода игнорим */
    /*  cout<<"FIO : ";
        cin>>stud[i].fio.first>>stud[i].fio.last>>stud[i].fio.otch;
        cout<<"Datu rojd. : ";
        cin>>stud[i].dob.day>>stud[i].dob.month>>stud[i].dob.year;*/
        cout<<"Group kurs : "; cin>>stud[i].group; //>>stud[i].kurs;
        cout<<"Ocenki po 3-em disc. :\n";
        for(j=0;j<3;j++) {
            cin>>stud[i].mark[j];
            stud[i].aver += stud[i].mark[j]; }
    stud[i].aver /= 3;
    cout<<stud[i].aver;
    }
}
void grupAver() {
    float grps[kol][2],E=k;
    for(i=0;i<E;i++){
        for(j=i;j<E;) {
            if(stud[i].group == stud[j].group && i != j) {
                for(z=j;z<E-1;z++) 
                    stud[z].group = stud[z+1].group;
                    --E; 
                    }
            else ++j;
            }
        grps[i][0] = stud[i].group;
        }
    for(i=0;i<E;i++) 
        {
        grps[i][1]=0;
        z=0;
        for(j=0;j<k;j++) 
            {
            if (stud[j].group == grps[i][0])
                {
                grps[i][1]+= stud[j].aver;
                z++;
                }
            }
        grps[i][1] /= z;        
        }
     cout<<"\nSrednii bali studentov :\n";
     cout<<"    Grupa          Bal     ";
     for(i=0;i<E;i++)
     cout<<endl<<"      "<<grps[i][0]<<
     "            "<<grps[i][1]<<endl;
}
 
Текущее время: 00:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru