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

Структура студент. Поиск группы с макс. оценкой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Бинарное дерево. Исправка кода http://www.cyberforum.ru/cpp-beginners/thread860693.html
Помогите, пожалуйста, исправить код. Мне нужно сделать, чтобы диапазон значений дерева работал нормально + элементы в дереве не повторялись. #include <iostream> #include <string.h> #include <Windows.h> #include <time.h> using namespace std;
C++ Двумерный массив (подсчитать количество звездочек) Доброго времени суток, товарищи программисты. Я учусь на программиста, и вот перед мной встала такова задача. Которую я не могу преодолеть. Задача: Написать двумерный массив символьного типа из звездочек и точек, в рендомном порядке, и подсчитать количество звездочек в массиве. Условие: Если звездочки идут подряд, в рядке или строке то считать их как одну. Я вот что наработал: #include... http://www.cyberforum.ru/cpp-beginners/thread860678.html
Недостатки данного кода С++ C++
Здравствуйте, Уважаемые Форумчане! Подскажите, пожалуйста. Что не так в этом коде? Перечислите недостатки, которые вы видите. Предложите свой вариант рефакторинга. #include <stdio.h> class Feature { public: enum FeatureType {eUnknown, eCircle, eTriangle, eSquare}; Feature() : type(eUnknown), points(0) { }
Дерево. Поуровневая связь C++
Имеется структура следующего вида: struct BinTree { int key; Node* left; Node* right; Node* level; }; Нужно написать функцию которая осуществляет связь при помощи указателя level на стуктуру такого же типа по схеме (за ранее подразумевается что указатели level = 0):
C++ С++ not implemented in type 'istream' for arguments of type 'float *'из-за чего эта ошибка и как исправить? http://www.cyberforum.ru/cpp-beginners/thread860650.html
Написал программу для расчёта площади четырёхугольника и круга. Использовал простые операторы присвоения. Всё работало как надо. Но прочитав ещё раз условие своей курсовой заметил, что нужно обязательное использование структуры (struct). Начал переделывать и столкнулся с тем, что при компиляции выдаёт ошибки... Одна из них (встречается 3 раза из 5) это "not implemented in type 'istream' for...
C++ Перенос Microsoft Visual C++ 2010 Express Есть небольшой вопрос: На ноутбуке стоит Microsoft Visual C++ 2010 Express. Можно ли его как-нибудь перенести на компьютер, или придётся качать заново? подробнее

Показать сообщение отдельно
Alexandrov_Nik
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 20
10.05.2013, 15:55     Структура студент. Поиск группы с макс. оценкой
Есть структура студент. Необходимо найти и вывести группу с максимальным средним баллом.
Я вот тут написал сам, но то что получилось у меня выводит только одну первую группу, а если групп с одинаковым баллом будет несколько то выведется только одна.
Как это переписать правильно не знаю. Помогите пожалуйста.
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
// ТИПИС.cpp : Defines the entry point for the console application.
//
 
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;    
const int n=3, m=4;//n-количество студентов, m-число оценок за сессию
struct student
{
    char name[100];
    char group[10];
    int ses[m];
    void print()
    {
        cout<<"Имя студента: ";
        cout<<name;
        cout<<endl;
        cout<<"Группа: ";
        cout<<group;
        cout<<endl;
        cout<<"Оценки: ";
        cout<<endl;
        for (int j=0; j<m; j++)
        {
            cout<<ses[j]<<" ";
        }
    }
};
 
 
void find(student *stud1, int n)
{
    bool found = false;
    int k=0;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            if (stud1[i].ses[j]==2)
            {
                cout<<stud1[i].name<<endl<<stud1[i].group<<endl;//и вывод его на печать
                found = true;
            }
    }
    try 
    {
        if (!found)
            throw "Неуспевающих нет";
    }
    catch(const char * massage)
    {
        cerr<<massage<<endl;
    }
}
void main()
{
    setlocale(LC_ALL, "Russian");   
    int i;  
    student stud1[n];
    student a;
    for (i=0;i<n;i++)//цикл по студентам
    {
        cout<<"\nВведите студента "<<i+1;
        cout<<"\nВведите фамилию ";
        cin>>stud1[i].name;
        cout<<"\nВведите группу ";
        cin>>stud1[i].group;
        cout<<"\nВведите оценки ";
        for (int j=0;j<m;j++)//цикл по оценкам
            cin>>stud1[i].ses[j];
    }
    //--------------
    for (int k=0; k<n; k++)
    {
        for (int l=n-1; l>k; l--)
        { 
            if (strcmp(stud1[l-1].group, stud1[l].group) == 1)
            {
                a = stud1[l];
                stud1[l] = stud1[l-1];
                stud1[l-1] = a;
            }
        }
    }
        find(stud1, n);
            //------Поиск группы с максимальным средним баллом-----
        float s[n];
        for (int i = 0; i <= n; i++) 
        {
            s[i] = 0;
            for (int j = 0; j < m; j++) 
            {
                s[i] = stud1[i].ses[j]+s[i];
            }
            s[i]=s[i]/m;
        }
        float max_avg=0;
        for (int i=0; i<n; i++)
        {
            for (int l=n-1; l>i; l--)
            { 
                if(s[l-1]<s[l])
                {
                    max_avg=s[l];
                    s[l] = s[l-1];
                    s[l-1] = max_avg;
                }
            }
        }
        cout<<"Группа с максимальным средним баллом:"<<endl;
        cout<<stud1[1].group<<endl;
        //------------------------------------------
        system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru