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

Нужно подправить код на языке си. Заранее спасибо!

12.06.2019, 17:26. Показов 367. Ответов 0

Author24 — интернет-сервис помощи студентам
Нужно подправить код к программе на языке С и дописать 3 пункт.
Создать файл, содержащий информацию о результатах спортивных соревнований.

Структура записи: вид спорта, фамилия участника, номер группы, количество набранных участником баллов.

Составить программу, которая выдает следующую информацию:

- общее количество баллов, набранных студентами каждой группы с определением группы победителя;

- фамилии участников по указанному виду спорта;

- фамилии победителей по отдельным видам спорта (1, 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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef struct GroupRate
{
    int group, rate;
} GroupRate;
 
typedef struct Participant
{
    char *KOS, *FIO;
    GroupRate GR;
} Participant;
 
//- общее количество баллов, набранных студентами каждой группы с определением группы победителя;
GroupRate *total_points(Participant* part, int count)
{
    if (count == 0) return NULL;
 
    int j = 0, indexNewEl = -1, isExists = 0;
    GroupRate *GR = (GroupRate*)malloc(sizeof(GroupRate) * count);
 
    for (int i = 0; i < count; ++i)
    {
        isExists = 0;
        for (j=0; j < indexNewEl+1; ++j)
        {
            if (GR[j].group == part[i].GR.group)
            {
                isExists = 1;
                break;
            }
        }
 
        if (isExists==1)
            GR[j].rate += part[i].GR.rate;
        else
            GR[++indexNewEl] = part[i].GR;
    }
 
    //printing
    for (j = 0; j < indexNewEl + 1; ++j)
        printf("Group: %d | Rate: %d\n", GR[j].group, GR[j].rate);
 
    //WinnerGroup
    GroupRate *WinnerGroup = &GR[0];
    for (j = 1; j < indexNewEl + 1; ++j)
    {
        if (GR[j].rate > WinnerGroup->rate)
            WinnerGroup = &GR[j];
    }
 
    printf("\n\nwin: %d, rate: %d\n", WinnerGroup->group, WinnerGroup->rate);
 
    return WinnerGroup;
}
 
//- фамилии участников по указанному виду спорта;
void KOS(Participant* part, char* kos)
{
    for (int i = 0; i < sizeof(*part) / sizeof(Participant); ++i)
    {
        if (strcmp(part[i].KOS, kos) == 0)
            puts(part[i].FIO);
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2019, 17:26
Ответы с готовыми решениями:

Вылетает программа после написания массива. Не знаю, где допустил ошибку. Нужно исправить код. Заранее спасибо!
Ввести целочисленный массив состоящий из 17 элементов. Заменить элементы кратные трем на сумму...

нужно посчитать входное сопротивление. Номер задания 4. Очень нужно, заранее спасибо!

Нужно решение задач, заранее спасибо
1)Найти индексы всех ненулевых элементов в одномерном числовом массиве. 2) Определить номера строк...

Нужно 2 задачи из ЕГЭ.(25-й и 27-й номер). Заранее спасибо!

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

Нужно создать програму с вычислением! Заранее спасибо!
Дано два целых числа А и В (A&lt;B).Найти сумму всех целых чисел от А до В включительно! Прошу...

напишите пожалуйста код на Delphi/ заранее спасибо
1. Найти сумму отрицательных элементов массива. 2. Найти произведение элементов массива,...

Нужно построить диаграмму по электротехнике, пожалуйста, заранее спасибо!
Помогите с диаграммой пожалуйста.

Как написать код на C++ по этому заданию? заранее спасибо
Как написать код на C++ по этому заданию? заранее спасибо


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

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