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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгоритм нахождения простых чисел http://www.cyberforum.ru/cpp-beginners/thread926581.html
Вопросы: 1) Нужен алгоритм проверки числа (является ли число простим). Нужно чтобы алгоритм был быстрым (нужно проделать 104 операций за 0.5 сек )!!!! 2) Почему мой алгоритм проверки не всегда дает верный ответ? :cry: if(x%2 && x%3 && x%5 && x%7) std::cout << "Число простое!\n";
C++ Включить в программу только одну ф-цию из библиотеки Из библиотеки boost я могу выбрать одну нужную мне ф-ию (boost/algorithm/cxx11/all_of.hpp), можно ли это сделать с std::all_of (как пример) // all_of example #include <iostream> // std::cout #include <algorithm> // std::all_of #include <array> // std::array #include <boost/algorithm/cxx11/all_of.hpp> using namespace boost::algorithm; bool isOdd ( int i ) { return i%2; } 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
21.07.2013, 17:00     Работа с массивом (По данной матрице определить самых уникальных учеников и самых средних.)
Пожалуйста исправьте ошибки в программе:
Пусть целочисленная матрица размером пх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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru