Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 2
Регистрация: 05.11.2016
Сообщений: 51
1

Структура.Вывести номера групп в порядке уменьшения средней успеваемости студентов

20.12.2016, 13:34. Показов 771. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Тут вот задание такое:

Каждый элемент входящего файла имеет такую структуру:
<фамилия>, <номер группы>, <оценка 1>, <оценка 2>, <оценка 3>.
При этом фамилия не больше 12 символов, номер группы – целое от 101 до 116, каждая оценка – это 2,3,4 или 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
#define _CRT_SECURE_NO_WARNINGS
#include <fstream>
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
 
using namespace std;
 
struct student
{
    char surname[15];
    int group;
    int matan;
    int phys;
    int apr;
    double average;
}stud[15];
 
void BubleSort(double *arr, int *arr1)
{
        for (int k = 0; k < 15; k++)
        {
            for (int i = 0; i < 14; i++)
            {
                if (arr[i] < arr[i + 1])
                {
                    swap(arr[i], arr[i + 1]);
                    swap(arr1[i], arr1[i + 1]);
                }
            }
        }
}
 
 
 
int main()
{
    setlocale(0, "rus");
    ifstream file("Doc.txt");
    char buf[15];
    double *arr = new double [15];
    int *arr1 = new int[15];
    for (int i = 0; i < 15; i++)
    {
        file.getline(buf, 15, ',');
        strcpy(stud[i].surname, buf);
        file.getline(buf, 15, ',');
        stud[i].group = atoi(buf);//строка в число двойной точности
        file.getline(buf, 15, ',');
        stud[i].matan = atoi(buf);//строка в целое число
        file.getline(buf, 15, ',');
        stud[i].phys = atoi(buf);
        file.getline(buf, 15, ';');
        stud[i].apr = atoi(buf);
        stud[i].average = (stud[i].matan + stud[i].phys + stud[i].apr) / 3;
        arr[i]= stud[i].average;
        arr1[i] = stud[i].group;
    }   
 
    BubleSort(arr, arr1);
 
    for (int i = 0; i < 15; i++)
    {
        cout << arr1[i] << setw(4);
    }
    delete arr, arr1;
    _getch();
    return(0);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2016, 13:34
Ответы с готовыми решениями:

Структура Student: вывести фамилии и номера групп для студентов, имеющих двойки
Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и инициалы; • номер...

Отсортировать группы студентов в порядке убывания средней успеваемости
Здравствуйте! Сама формулировка задачи: Массив записей содержит информацию о результатах сдачи...

Вывести номера групп в порядке убывания средней успеваемости их студентов
В массиве содержится информация о зимней сессии. Сведения о каждом студенте содержат следующие...

Файл: Отображать номера групп в порядке убывания средней успеваемости их студентов
В файле данных содержится информация об итогах зимней сессии. О каждом студенте известны: &lt;ФИО &gt;,...

0
20.12.2016, 13:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2016, 13:34
Помогаю со студенческими работами здесь

Вывести журнал успеваемости студентов группы в алфавитном порядке
Нужно написать код для решения следующей задачи Имеются сведения об успеваемости студентов...

Структура. Вывести информацию по студентам в порядке уменьшения среднего балла
Есть вот такая задача: В деканате хранится следующая информация о студентах: ФИО, номер группы,...

Вывести средний балл по каждой группе и расположить студентов в порядке уменьшения среднего бала
есть группы студентов по номерам - 1,2,3,4,5. Пусть в каждой группе учится по 20 студентов, каждый...

Написать программу анализа средней успеваемости четырех студентов
Написать программу анализа средней успеваемости четырех студентов по четырем предметам за сессию на...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru