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

Написать программу, которая обрабатывает результаты экзамена - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнение массива http://www.cyberforum.ru/cpp-beginners/thread830976.html
Заполнить массив 6x6 цифрами от 1 до 36 по следующей схеме 11 12 13 14 15 16 10 27 28 29 30 17 9 26 35 36 31 18 8 25 34 33 32 19 7 24 23 22 21 20 6 5 4 3 2 1
C++ Найти и вывести элемент,наиболее близкий к среднему арифметическому всех элементов массива Дано задание 1)Вывести массив в диапазоне -128..257 2)Найти Min & Max эл-ты 3)Найти и вывести элемент,наиболее близкий к среднему арифметическому всех элем-в массива. Третью задачу решить не... http://www.cyberforum.ru/cpp-beginners/thread830965.html
Одинаковые парные элементы двумерного массива по строкам C++
Не могу сделать так чтобы программа искала одинаковые парные элементы по строкам и по столбцам (для определения пар одинаковых элементов нужно использовать функцию). Начало программы есть но ее нужно...
явный деструктор C++
class TIMER { public: TIMER() { std::cout << "constructor" << std::endl; } ~TIMER() { FILE_SINGLETON::Instance()->WriteData(4); //нужная мне операция std::cout << "destructor"...
C++ Найти длину возрастающей подпоследовательности с максимальной крутизной http://www.cyberforum.ru/cpp-beginners/thread830915.html
В общем я только начал кодить, поэтому очень тяжко сейчас. Есть задание: Найти длину возрастающей подпоследовательности с максимальной крутизной((A-A)/(j-i)). ответ должен выдаваться в виде таблицы:...
C++ Считывание строки с текстового файла Напишите пожалуйстанаброски как можно считать строку с текстового файла ,для дальнейшей работы с ней.Используя string.h Спасибо подробнее

Показать сообщение отдельно
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
08.04.2013, 17:48  [ТС]
Цитата Сообщение от GetVariable Посмотреть сообщение
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
#include <iostream>
#include <vector>
 
double get_precent_last_element(const std::vector<unsigned int>& array);
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating);
 
int main()
{
 
    std::vector<unsigned int> rating_leaners;
    unsigned int max_rating = 5, rating = 0;
 
 
    while(true)
    {
        std::cout << "Enter rating [0 - break]: ";
        
        std::cin >> rating;
        
        if(rating != 0)
        {
            rating_leaners.push_back(rating);
            std::cout << "Precent rating: " << get_precent_last_element(rating_leaners) << "%" << std::endl;
        }
        else
            break;                                  //exit while
    }
 
    for(unsigned int i = max_rating; i != 0; --i)
        std::cout << i << " rating: " << get_count_rating(rating_leaners, i) << std::endl;
 
 
    return 0;
}
 
double get_precent_last_element(const std::vector<unsigned int>& array)
{
    if(array.size() == 1)
        return 100;
 
    unsigned int all_rating = 0; // sum all ratings
 
    for(size_t i = 0; i < array.size(); ++i)
        all_rating += array.at(i);
    
    double last_element = array.at(array.size()-1);
 
    return (last_element/(double)all_rating)*(double)100;
 
}
 
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = 0;
 
    for(size_t i = 0; i < array.size(); ++i)
        if(array.at(i) == rating)
            ++count;
 
    return count;
}
Добавлено через 5 минут
даже вот так.

я тут реализовал, вывод для каждой оценки процент

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
#include <iostream>
#include <vector>
 
double get_precent_last_element(const std::vector<unsigned int>& array);
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating);
double get_precent_rating(const std::vector<unsigned int>& array, const unsigned int rating);
 
int main()
{
 
    std::vector<unsigned int> rating_leaners;
    unsigned int max_rating = 5, rating = 0;
 
 
    while(true)
    {
        std::cout << "Enter rating [0 - break]: ";
        
        std::cin >> rating;
        
        if(rating != 0)
        {
            rating_leaners.push_back(rating);
            std::cout << "Precent rating: " << get_precent_last_element(rating_leaners) << "%" << std::endl;
        }
        else
            break;                                  //exit while
    }
 
    for(unsigned int i = max_rating; i != 0; --i)
        std::cout << i << " rating: " << get_count_rating(rating_leaners, i) << " Precent: " << get_precent_rating(rating_leaners, i) << "%" << std::endl;
 
 
    return 0;
}
 
double get_precent_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = get_count_rating(array, rating);
 
    return ((double)count / array.size())*(double)100;
}
 
double get_precent_last_element(const std::vector<unsigned int>& array)
{
    if(array.size() == 1)
        return 100;
 
    unsigned int all_rating = 0; // sum all ratings
 
    for(size_t i = 0; i < array.size(); ++i)
        all_rating += array.at(i);
    
    double last_element = array.at(array.size()-1);
 
    return (last_element/(double)all_rating)*(double)100;
 
}
 
 
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = 0;
 
    for(size_t i = 0; i < array.size(); ++i)
        if(array.at(i) == rating)
            ++count;
 
    return count;
}
Спасибо тебе большое, что решил. Но понимаешь мы в технаре только не так давно динамические массивы прошли, и половину из того что написано мне не понятно А это только таким способом решается?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru