Форум программистов, компьютерный форум, киберфорум
Наши страницы

Работа с массивом (По данной матрице определить самых уникальных учеников и самых средних.) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм нахождения простых чисел http://www.cyberforum.ru/cpp-beginners/thread926581.html
Вопросы: 1) Нужен алгоритм проверки числа (является ли число простим). Нужно чтобы алгоритм был быстрым (нужно проделать 104 операций за 0.5 сек )!!!! 2) Почему мой алгоритм проверки не всегда дает...
C++ Включить в программу только одну ф-цию из библиотеки Из библиотеки boost я могу выбрать одну нужную мне ф-ию (boost/algorithm/cxx11/all_of.hpp), можно ли это сделать с std::all_of (как пример) // all_of example #include <iostream> // std::cout... http://www.cyberforum.ru/cpp-beginners/thread926539.html
C++ Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
Обьясните понятие как работает Операция языка C++
Простите пожалуста, если я не видел аналогичной темы. Вот Операции сдвига ( « и » ) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или...
C++ Почему в switch нельзя определять переменные? http://www.cyberforum.ru/cpp-beginners/thread926520.html
int main() { setlocale(LC_ALL, "Russian"); int n; std::cout << "Введите число: "; std::cin >> n; switch (n)
C++ Проясните освобождение памяти Допустим есть такой код: typedef struct COORDINATE { QVector<int> x; QVector<int> y; QVector<int> z; } Coordinate; public: void SaveCoord(); подробнее

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

Работа с массивом (По данной матрице определить самых уникальных учеников и самых средних.) - C++

21.07.2013, 17:00. Просмотров 315. Ответов 0
Метки (Все метки)

Пожалуйста исправьте ошибки в программе:
Пусть целочисленная матрица размером пхm содержит информацию об учениках некоторого класса из п человек. В первом столбце проставлена масса (кг), во втором — рост (см), в третьем — успеваемость (средний балл) и т.д. (используйте свои дополнительные показатели). Ученик называется среднестатистическим по 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
#include <iostream.h>
#include <windows.h>
void l1(int** info, int n, int t)
{
int i,j;
int* students_mid = new int[t];
int* students_un = new int[t];
for(i=0; i < n; i++)
{
double mid=0;
for(j = 0; j < t; j++)
{
mid += info[i][j];
} 
mid /= t;
int min_s = 0;
int max_s = 0;
for(j = 0; j < t; j++){
if(abs(mid - info[i][max_s]) > abs(mid - info[i][j]))
max_s = j;
if(abs(mid - info[i][max_s]) < abs(mid - info[i][j]))
min_s = j;
} 
students_mid[min_s]++;
students_un[max_s]++;
}
cout << "Средние:" << endl;
for(i = 0; i < t; i++){
if(students_mid[i] > 0)
cout << "Ученик №" " i " " = " << students_mid[i] << endl;
}
cout << "Уникальные:" << endl;
for(i = 0; i < t; i++){
if(students_un[i] > 0)
cout << "Ученик №" " i " " = " << students_un[i] << endl;
}
}
 
int main()
{
    SetConsoleOutputCP(1251);
int info[3][5] = {{1,2,32,4,5}, {2,36,4,5,6}, {31,4,5,6,7}}; 
int **M = new int*[3];
for (int i=0; i<3; i++) M[i] = info[i];
l1(M,3,5);
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.