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

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

07.04.2013, 21:19. Показов 7363. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru