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

Массив структур "Студенты". Исправить код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма элементов массива до максимального. Создать шаблон функции http://www.cyberforum.ru/cpp-beginners/thread1121024.html
нужно оформить перегрузку функции, кто может подсказать? #include "stdafx.h" #include <iostream> using namespace std; void main () { setlocale(LC_ALL, "rus"); const size_t SIZE=10;
C++ Движение планет в звёздной системе, методы isOrbitFree и Simulate работают неправильно Программа должна симулировать движение планет в звёздной системе, она запускается, но методы isOrbitFree и Simulate работают неправильно. Это класс старсистем, также имеются и другие классы, но с проблемой они, скорее всего, не связаны, поэтому выкладывать их не буду: #include "StarSystem.h" #include <math.h> StarSystem::StarSystem() { systemExists = false; http://www.cyberforum.ru/cpp-beginners/thread1121013.html
Выбрать студентов заданного пола, проживающих в общежитии (исправить код) C++
Здравствуйте. помогите пожалуйста исправить программу, не могу понять в чем дело нужно выбрать студентов заданного пола, проживающих в общежитии #include <iostream> #include <stdio.h> #include <conio.h> #include <string.h> using namespace std; const int n=5;
Написать программу для динамического графического эфекта цифрового таймера C++
Написать программу для динамического графического эфекта цифрового таймера Заранее большое спасибо
C++ Найти площадь и значение координаты y на эллипсе для заданного x http://www.cyberforum.ru/cpp-beginners/thread1121004.html
Здравствуйте. Подскажите пожалуйста, как исходя из данного задания найти площать и значение координаты y на эллипсе для заданного x? Создать класс ПАРА ЧИСЕЛ. Определить конструкторы, деструктор, функции доступа к полям, ввода-вывода. Создать производный класс ЭЛЛИПС с полями-радиусами. Определить конструкторы по умолчанию и с разным числом параметров, деструктор, функции доступа к полям,...
C++ Посоветуйте хорошую книгу по с++. Посоветуйте пожалуйста какую-то хорошую книгу с++. подробнее

Показать сообщение отдельно
Dionisius
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 135

Массив структур "Студенты". Исправить код - C++

16.03.2014, 18:23. Просмотров 353. Ответов 5
Метки (Все метки)

Массив структур содержит информацию о студентах группы: в первом поле стоит фамилия, во втором - возраст, в третьем - рост, в четвертом - средний балл за сессию и т.д. (i-ый элемент массива описывает i-го студента).
Студент называется среднестатистическим по k-му параметру, если на нём достигается минимум модуля разности среднего арифметического чисел k-го столбца и значения k-го параметра этого студента. Аналогично определяется уникальный по k-му параметру студент (на нём достигается максимум).
Студент называется самым средним если он является среднестатистическим по самому большому количеству параметров. Аналогично определяется самый уникальный студент.
Выяснить, кто является в группе самым средним и самым уникальным.

Вот программа:
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>
#define n 5
struct pupil
{
       char name[10];
       int age;
       int height;
       int score;
       };
       static float sr_a, sr_h, sr_s;
       int main()
       {
           int i;
           struct pupil class1[5]=
           {
                  "Ivanov", 17, 176, 5,
                  "Petrov", 18, 167, 4,
                  "Sidorov", 18, 171, 5,
                  "Nikolaev", 17, 180, 4,
                  "Kozlov", 17, 170, 4};
                  for (i=0; i<n; i++)
                  {print(class1[i]);
              }
                      sred (class1);
                      srednestat(class1);
                      }
       void print (struct pupil a)
       {
            printf("\n%s \t%d \t%d \t%d \n", a.name, a.age, a.height, a.score);
            }
            void sred (struct pupil a)
            {
                 int i;
                 for (i=0; i<n; i++)
                 {
                     sr_a=sr_a+a[i].age;
                     sr_h=sr_h+a[i].height;
                     sr_s=sr_s+a[i].score;
                     }
                     sr_a=sr_a/n;
                     sr_h=sr_h/n;
                     sr_s=sr_s/n;
                     printf("\n%f, %f, %f", sr_a, sr_h, sr_s);
            }
            void srednestat (struct pupil *a)
            {
                struct pupil sr;
                static int sred[n][3], sum [n], i, max;
                float min;
                for(i=0; min=100; i++){
                    if(fabs(sr_a-a[i].age)<min)
                    min=fabs(sr_a-a[i].age);};
                    for (i=0; i<n; i++)
                    {if(fabs(sr_a-a[i].age)==min)
                    {sred [i][0]=1;}
                }
                for (i=0, min=100; i<n; i++)
                {if (fabs(sr_h-a[i].height)<min)
                min=fabs(sr_h-a[i].height);
                }
                for(i=0; i<n; i++)
                {if(fabs(sr_h-a[i].height)==0)
                sred[i][1]=1;
            }
            for (i=0; i<n; i++)
            {if (fabs(sr_h-a[i].score)<min)
                min=fabs(sr_h-a[i].score);}
                for (i=0; i<n; i++)
                {if (fabs(sr_s-a[i].score)==0)
                sred[i][2]=1;}
                for(i=0; i<n; i++)
                {sum[i]=sred[i][0]+sred[i][1]+sred[i][2];
                }
                for (i=0, max=0; i<n; i++)
                {if (sum[i]>max)
                {max=sum[i];
                //sr=a[i];
                strcpy(sr.name,a[i].name);
                sr.age=a[i].age;
                sr.height=a[i].height;
                sr.score=a[i].score;
                }
                }
                printf("srednestat, %s %d %d %d", sr.name, sr.age, sr.height, sr.score);
                getch();
        }
Найдите ошибки в программе и исправьте их.

Добавлено через 20 минут
если увидите ошибки не забудьте пояснить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru