Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 03.03.2013
Сообщений: 20

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

10.05.2013, 15:55. Показов 1212. Ответов 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
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");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2013, 15:55
Ответы с готовыми решениями:

Структура "Студент", найти студентов с оценкой 4 и 5
Надо выявить студентов с оцекной 4 и 5 #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;conio.h&gt; struct...

Структура "Студент". Вычислить средний балл группы и распечатать список студентов с низким средним баллом
Ввести сведения о 8 студентах:фамилия, год рождения, рейтинг по предметам:алгоритмизация, история, дискретный анализ. Вычислить средний...

Структура Студент
1. Используя ввод-вывод в стиле С создать файл и записать в него структурированные данные. 2. Вывести созданный файл на экран. ...

3
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 2
10.05.2013, 16:24
код не напишу но алгоритм:
1)ищем максимальную среднюю оценку ргуппы
2)в цикле проверяем у каких груп она такая, одновременно считая их количество и записывая их номера в массив
3) выводим список групп, номера которых вписамы в наш массив
0
0 / 0 / 1
Регистрация: 03.03.2013
Сообщений: 20
10.05.2013, 17:39  [ТС]
Цитата Сообщение от VirusSkayneD Посмотреть сообщение
код не напишу но алгоритм:
1)ищем максимальную среднюю оценку ргуппы
2)в цикле проверяем у каких груп она такая, одновременно считая их количество и записывая их номера в массив
3) выводим список групп, номера которых вписамы в наш массив
Алгоритм мне понятен. у меня проблема именно в реализации.
0
0 / 0 / 1
Регистрация: 03.03.2013
Сообщений: 20
12.05.2013, 19:52  [ТС]
Пожалуйста помогите кто-нибудь правильно дописать эту прогу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2013, 19:52
Помогаю со студенческими работами здесь

Структура студент
Помогите пожалуйста, понимаю что нужно и как, но ничего не получается Задание: Структура – Студент. Структура должна включать...

Структура СТУДЕНТ
Надеюсь на вас:cry: Вариант1.Опишите структуру СТУДЕНТ и поместите в нее следующую информацию: Ф.И.О., оценки (математика, физика,...

Структура Студент
Есть работающий код. Не могу исправить ошибку с выводом рейтинга Выводит неизвестно откуда взятые числа #include &quot;stdafx.h&quot;...

Структура элемента массива студент
Структура элемента массива студент: фамилия, номер группы, оценка по предмету № 1, оценка по предмету № 2, оценка по предмету № 3....

Написать программу: структура студент
Дана информация о пяти студентах. Запись имеет вид: фамилия, год рождения, факультет. Вывести дан¬ные о студентах по факультетам.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru