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

Нужно скорректировать задачу со структурами

28.11.2014, 01:26. Показов 770. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я определила структуру «студент», поля структуры: ФИО, массив элементов структуры «дисциплина» (не менее 4-х элементов, результаты сдачи сессии), структура «дисциплина» включает поля: название, оценка, далее нашла сколько студентов в группе имеют неудовлетворительную оценку хотя бы по 1 предмету, теперь нужно изменить этот код чтобы
найти студентов с самым высоким средним баллом (одного студента или нескольких с одинаковыми баллами)
Помогите, пожалуйста!
Вот мой код :
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <time.h>
 
struct student //структура студент
{
char *name;
struct disc //структура дисциплина
{ char *discName; // название дисциплины
int mark; // оценка по дисциплине
}session[4];
};
 
char *name[] = {"Sara","Kate","Paul","Alex"};
char *subj[] = {"Math","Physics","Computer Science","Graph"};
 
void makegroup(student *grp, int s)
{
for(int i=0; i<s;i++)
{
grp[i].name = name[rand() %3];
for (int j=0;j<4;j++)
{
grp[i].session[j].discName = subj[j];
grp[i].session[j].mark = 2 + rand() %4;
}
}
}
 
void SredDlyaStud(student *grp, int s)
{
int i;
for (i=0; i<s; i++)
{
int summ;
summ=grp[i].session[0].mark+grp[i].session[1].mark+grp[i].session[2].mark+grp[i].session[3].mark;
int sred;
sred=summ/4;
printf ("srednee dlia %d-togo %d", i, sred);
}
}
 
void max (student *grp, int s)
{
int maxi;
maxi=0;
int i;
int j;
for (i=0; i<s; i++)
{
for (j=0; j<4; j++)
{
if (maxi < grp[i].session[j].mark) maxi=grp[i].session[j].mark;
}
}
printf("max mark is %d", maxi);
}
 
int main ()
{
int s;
printf ("vvedite chislo studentov: ");
scanf_s ("%d", &s);
student *grp;
grp=(student*)malloc(s*sizeof(student));
makegroup(grp,s);
SredDlyaStud(grp,s);
max(grp,s);
 
_getch();
}
Буду очень признательна, если кто-нибудь поможет
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.11.2014, 01:26
Ответы с готовыми решениями:

Скорректировать циклы под задачу
Задача. Любимое занятие котенка Мурхика - прыгать по лесенке вверх, перепрыгивая через ступеньки. Лестница имеет определенное количество...

Код не работает, нужно скорректировать
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;RUS&quot;); int n, m, st = -1, c; ...

Нужно написать программу, работающую со структурами
Описать структуру для хранения следующей информации (при необходимости используйте перечисления): данные о животных: • птицы...

1
 Аватар для Nosey
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
28.11.2014, 04:45
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <time.h>
 
/*
Я определила структуру «студент», поля структуры: ФИО, массив элементов структуры «дисциплина» 
(не менее 4-х элементов, результаты сдачи сессии), структура «дисциплина» включает поля: название, оценка, 
далее нашла сколько студентов в группе имеют неудовлетворительную оценку хотя бы по 1 предмету, теперь нужно изменить этот код чтобы
найти студентов с самым высоким средним баллом (одного студента или нескольких с одинаковыми баллами)
Помогите, пожалуйста!
*/
 
struct student //структура студент
{
    char *name;
    struct disc //структура дисциплина
    {
        char *discName; // название дисциплины
        int mark; // оценка по дисциплине
    }session[4];
    int sred; // средняя оценка.
};
 
char *name[] = { "Sara", "Kate", "Paul", "Alex" };
char *subj[] = { "Math", "Physics", "Computer Science", "Graph" };
 
void makegroup(student *grp, int s)
{
    for (int i = 0; i<s; i++)
    {
        grp[i].name = name[rand() % 3];
        for (int j = 0; j<4; j++)
        {
            grp[i].session[j].discName = subj[j];
            grp[i].session[j].mark = 2 + rand() % 4;
        }
    }
}
 
void SredDlyaStud(student *grp, int s)
{
    int i;
    for (i = 0; i<s; i++)
    {
        int summ;
        summ = grp[i].session[0].mark + grp[i].session[1].mark + grp[i].session[2].mark + grp[i].session[3].mark;
        grp[i].sred = summ / 4;
        printf("srednee dlia %d-togo %d\n", i, grp[i].sred);
    }
}
 
void max(student *grp, int s)
{
    student *maxSt = grp;
    int i;
    int j;
    for (i = 0; i<s; i++)
    {
        if (maxSt->sred < grp[i].sred)
        {
            maxSt = &grp[i];
        }
    }
 
    printf("max sred mark is %d :\n", maxSt->sred);
 
    for (i = 0; i<s; i++)
    {
        if (maxSt->sred == grp[i].sred)
        {
            printf("student %d, sred %d :\n", i, grp[i].sred);
            for (j = 0; j<4; j++)
            {
                printf("    %s : %d\n", grp[i].session[j].discName, grp[i].session[j].mark);
            }
        }
    }
}
 
 
void countNeud(student *grp, int s)
{
    int neudCount = 0;
    for (int i = 0; i<s; i++)
    {
        for (int j = 0; j<4; j++)
        {
            if (grp[i].session[j].mark <= 2)
            {
                neudCount++;
                break;
            }
        }
    }
    printf("neud mark count %d\n", neudCount);
}
 
int main()
{
    int s;
    printf("vvedite chislo studentov: ");
    scanf_s("%d", &s);
    student *grp;
    grp = (student*)malloc(s*sizeof(student));
    makegroup(grp, s);
    SredDlyaStud(grp, s);
    countNeud(grp, s);
    max(grp, s);
 
    _getch();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.11.2014, 04:45
Помогаю со студенческими работами здесь

Много ссылок, нужно перейти по ним. Задачу нужно поставить на выполнение Cron
Есть вопрос? Написал простенький скрипт, при вызове с параметром, переходим на страничку и работаем с определенными данными, сохраняем...

нужно задачу
Program FourAn; uses crt,graph; type BaseType=real; FourAngle=object x1,y1,x2,y2,x3,y3,x4,y4, ...

Нужно дорешать задачу
Помогите дорешать, пожалуйста. В соревнованиях по прыжкам в длину участвовали N-спортсменов. Каждый спортсмен мог сделать M-попыток....

Нужно выполнить задачу
Дана непустая последовательность целых чисел, оканчивающаяся числом 100. Необходимо опеределить, есть ли в последовательности число...

нужно сделать задачу
определить температуру идеального газа если средняя кинетическая энергия поступательного движения его молекул = 7.87х10 (в -21 степени)


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru