Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
 Аватар для okman
15 / 21 / 8
Регистрация: 05.04.2013
Сообщений: 204

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

07.04.2013, 21:19. Показов 7330. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должны вычислитель процент от общего количества оценок, так же вывести количество оценок( то есть сколько двоек, пятерок, троек, четверок, единиц). Система пятибалльная.

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
#include <iostream>
#include <math.h>
#include <conio.h> 
using namespace std;
int main()
{
int *darr,i,m, sum=0;
int a=0,b=0,c=0,d=0,e=0;
cout << "Vvedite kolichestvo uchinikov: ";
cin >> m;
darr=new int[m];
cout << "Vvedite ocenki klassa(kol-vo uchinikov=kol-vo ocenok): ";
for (i=0; i<m; i++) {
    cin >> darr[i];
 
};
 
for (i=0; i<m; i++) {
    sum+=darr[i]; 
 
 
 
if (darr[i]==1)
    { a+=darr[i]; 
     
    
 
 
 
 
 
     _getch();    
        return 0;
}
Начал делать но дальше не получается, программа начинает бред выбивать Спасибо за помощь, ребята.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2013, 21:19
Ответы с готовыми решениями:

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

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

Написать программу, которая создает и обрабатывает массив структур согласно индивидуальному заданию
Написать программу на языке С ++, которая создает и обрабатывает массив структур согласно индивидуального задания. Программа должна...

13
 Аватар для RussDragon
12 / 12 / 0
Регистрация: 08.04.2012
Сообщений: 81
07.04.2013, 21:22
Можешь это взять в тег С++? Будет легче прочитать код
0
 Аватар для okman
15 / 21 / 8
Регистрация: 05.04.2013
Сообщений: 204
07.04.2013, 21:28  [ТС]
Цитата Сообщение от RussDragon Посмотреть сообщение
Можешь это взять в тег С++? Будет легче прочитать код
Извиняюсь, уже сделал, я попробовал вывести если оценка ровняется единицы но начало выбивать какой-то бред, ну то есть я делаю что-то не правильно.

Добавлено через 2 минуты
Цитата Сообщение от RussDragon Посмотреть сообщение
Можешь это взять в тег С++? Будет легче прочитать код
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
#include <iostream>
#include <math.h>
#include <conio.h> 
using namespace std;
int main()
{
int *darr,i,m, sum=0;
int a=0,b=0,c=0,d=0,e=0;
cout << "Vvedite kolichestvo uchinikov: ";
cin >> m;
darr=new int[m];
cout << "Vvedite ocenki klassa(kol-vo uchinikov=kol-vo ocenok): ";
for (i=0; i<m; i++) {
    cin >> darr[i];
 
};
 
for (i=0; i<m; i++) {
    sum+=darr[i]; 
 
 
 
if (darr[i]==1)
    { a+=darr[i]; 
     
    
cout << a;  
};
 
 
 
 
 
     _getch();    
        return 0;
}
0
 Аватар для RussDragon
12 / 12 / 0
Регистрация: 08.04.2012
Сообщений: 81
08.04.2013, 15:14
А что выбивает то?
0
 Аватар для okman
15 / 21 / 8
Регистрация: 05.04.2013
Сообщений: 204
08.04.2013, 16:52  [ТС]
Цитата Сообщение от RussDragon Посмотреть сообщение
А что выбивает то?
Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должны вычислитель процент от общего количества оценок, так же вывести количество оценок( то есть сколько двоек, пятерок, троек, четверок, единиц). Система пятибалльная.
Что не понятного то? Нужно вывести процентное соотношение оценок от общего количества.

Добавлено через 18 минут
Цитата Сообщение от RussDragon Посмотреть сообщение
А что выбивает то?
А выбивает она просто набор цифр никак не связанных друг с другом. В общем как я понял ты и сам не понимаешь до конца эту тему, так что лучше не тереби ленту
0
 Аватар для GetVariable
164 / 120 / 46
Регистрация: 17.03.2013
Сообщений: 284
08.04.2013, 17:09
уточните

Для каждой оценки программа должны вычислитель процент от общего количества оценок
0
 Аватар для okman
15 / 21 / 8
Регистрация: 05.04.2013
Сообщений: 204
08.04.2013, 17:17  [ТС]
Цитата Сообщение от GetVariable Посмотреть сообщение
уточните
Например, всего оценок 20 из них пять пятерок, то есть 25%(если память не подводит). И там так же. А если можно, ребята, пожалуйста, напишите функцию в с++ которая считает количество тех или иных элементов в массиве. Аналог в паскале inc();
0
 Аватар для GetVariable
164 / 120 / 46
Регистрация: 17.03.2013
Сообщений: 284
08.04.2013, 17: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
#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;
}
1
 Аватар для okman
15 / 21 / 8
Регистрация: 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
 Аватар для GetVariable
164 / 120 / 46
Регистрация: 17.03.2013
Сообщений: 284
08.04.2013, 18:03
Цитата Сообщение от okman Посмотреть сообщение
Спасибо тебе большое, что решил. Но понимаешь мы в технаре только не так давно динамические массивы прошли, и половину из того что написано мне не понятно А это только таким способом решается?
это самый простой способ.

с динамическими массивами, придётся ещё запрашивать размер и в ф-их передавать его.

P.s в 8 классе я)
0
 Аватар для okman
15 / 21 / 8
Регистрация: 05.04.2013
Сообщений: 204
08.04.2013, 21:13  [ТС]
Цитата Сообщение от GetVariable Посмотреть сообщение
это самый простой способ.

с динамическими массивами, придётся ещё запрашивать размер и в ф-их передавать его.

P.s в 8 классе я)
Как с динамическими массивами работать я знаю, просто препад не поверит что это я очиcил (даже если я в коде разберусь) В коде то раpобраться можно, но как препаду объяснить

Добавлено через 8 минут
Цитата Сообщение от GetVariable Посмотреть сообщение
это самый простой способ.

с динамическими массивами, придётся ещё запрашивать размер и в ф-их передавать его.

P.s в 8 классе я)
О Боже, что я написал.
В общем так:
Как с динамическими массивами работать я знаю, просто препод не поверит что это я осиcил (даже если я в коде разберусь) В коде то разобраться можно, но как преподу объяснить

Добавлено через 2 часа 16 минут
Всем спасибо, но уже сам решил.
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
#include <iostream>
#include <math.h>
#include <conio.h> 
using namespace std;
int main()
{
int *darr,i,m,j;
int arr[5];
float a,b,c,d,e;
cout << "Vvedite kolichestvo uchenikov: ";
cin >> m;
darr=new int[m];
cout << "Vvedite ocenki klassa(kol-vo uchinikov=kol-vo ucenok): ";
for (i=0; i<m; i++) {
    cin >> darr[i];
 
};
for (j=1; j<=5; j++){arr[j]=0;};
 
for (i=0; i<m; i++) {arr[darr[i]]+=1;};
     
cout << "Kolichestvo ocenok:" << endl
     << "Kolichestvo '1' " << arr[1] << endl
     << "Kolichestvo '2' " << arr[2] << endl
     << "Kolichestvo '3' " << arr[3] << endl
     << "Kolichestvo '4' " << arr[4] << endl
     << "Kolichestvo '5' " << arr[5] << endl;
 
a=(arr[1]*100)/m;
b=(arr[2]*100)/m;
c=(arr[3]*100)/m;
d=(arr[4]*100)/m;
e=(arr[5]*100)/m;
 
cout << "Procent ocenok:" << endl
     << "Procent '1' " << a << " %" << endl
     << "Procent '2' " << b << " %" << endl
     << "Procent '3' " << c << " %" << endl
     << "Procent '4' " << d << " %" << endl
     << "Procent '5' " << e << " %" << endl;
 
 
 
     _getch();    
        return 0;
}
0
2 / 3 / 0
Регистрация: 09.03.2020
Сообщений: 184
18.11.2020, 02:44
okman, что здесь обозначает *darr ? кто то знает
0
 Аватар для GetVariable
164 / 120 / 46
Регистрация: 17.03.2013
Сообщений: 284
18.11.2020, 03:19
darr - dynamic array. Динамический массив
0
2 / 3 / 0
Регистрация: 09.03.2020
Сообщений: 184
22.11.2020, 22:53
darr=new int[m]; что здесь обозначает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.11.2020, 22:53
Помогаю со студенческими работами здесь

Написать программу, которая предлагает пользователю ввести число, вычисляет его разрядность и сумму всех цифр и выводить результаты в консоль
Help! Написать программу, которая предлагает пользователю ввести число, вычисляет его разрядность и сумму всех цифр и выводить...

Составить программу, которая обрабатывает данные поездов
Составить программу, которая обрабатывает следующие данные про поезда: шифр вагона, шифр состава, вес вагона, место назначения. Вывести на...

Для экзамена нужно написать программу
Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • дата рождения (массив из трех чисел). ...

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

Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча
Разработать программу, предназначенную для обработки информации о матчах, сыгранных футбольной командой. Количество сыгранных матчей и...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru