0 / 0 / 0
Регистрация: 09.05.2019
Сообщений: 110
1

Min, Max, Avg

09.05.2019, 01:19. Показов 3567. Ответов 5
Метки нет (Все метки)

Всем привет. У меня есть код программы, которая определяет макс. значение, мин. значение и среднее арифметическое значение. По идеи, по крайней мере.
Возникли проблемы с 58 строчкой, которую я не знаю, как правильно устранить, и с функцией «avg», реализовать которую, хочу узнать, как.

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
#include <iostream>
using namespace std;
double min(int *mas1, int n, int *mas2, int m)
{
    int min = mas1[0];
    for (int i = 0; i < n; i++)
    {
        if (mas1[i] << min)
            min = mas1[i];
    }
    for (int i = 0; i < m; i++)
    {
        if (mas2[i] < min)
            min = mas2[i];
    }
    return min;
}
 
double max(int *mas1, int n, int *mas2, int m)
{
    int max = mas1[0];
    for (int i = 0; i < n; i++)
    {
        if (mas1[i] >> max)
            max = mas1[i];
    }
    for (int i = 0; i < m; i++)
    {
        if (mas2[i] > max)
            max = mas2[i];
    }
    return max;
}
 
double avg()
{
 
}
 
double Action(int *mas1, int n, int *mas2, int m, double(*Vyvod)(int*, int, int*, int))
{
    return (*Vyvod)(mas1, n, mas2, m);
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    double(*Vyvod[3])(int*, int, int*, int) = { min,max,avg };
    cout << "МЕНЮ КОМАНД:" << "\n";
    cout << "1 - Операция «Минимальное значение»" << "\n";
    cout << "2 - Операция «Максимальное значение»" << "\n";
    cout << "3 - Операция «Среднее значение»" << "\n";
    int Punkt;
    cout << "Введите команду: ";
    cin >> Punkt;
    if (Punkt >= 1 && Punkt <= 3)
    {
        cout << "Результат: " << Action(mas1, n, mas2, m, Vyvod[Punkt - 1]) << "\n";
    }
    else
    {
        cout << "Нет такой операции!" << "\n";
    }
    system("pause");
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2019, 01:19
Ответы с готовыми решениями:

Найти min, max, avg
N чисел, min, max, avg: с клавиатуры ввести N чисел, признаком окончания ввода считать ввод -1;...

Найти max и min, если min левее max, то среднее арифметическое между ними
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() {...

Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c)
Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c). Как эту...

Найти min(max(x, y), max(x, z), max(z, d)
Даны различные действительные числа x, y, z, d. Найти min(max(x, y), max(x, z), max(z, d)).

5
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
09.05.2019, 01:47 2
PavelIks, напишите оригинал условия задачи
0
Мозгоправ
1736 / 1030 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
09.05.2019, 01:59 3
Цитата Сообщение от PavelIks Посмотреть сообщение
У меня есть код программы, которая определяет макс. значение, мин. значение и среднее арифметическое значение. По идеи, по крайней мере.
У вас есть некий код. Он с ошибками.
Для чего точно нужен этот код вы не знаете.
Как работает этот код - вы не понимаете.
Похоже, что кто-то (может быть даже и вы) взял чужую программу и попытался приспособить её под свои нужды. Но так как он не разобрался что и как делает исходная программа, то нанесённые ей увечья оказались несовместимы с жизнью.

Диагноз: в морг
0
0 / 0 / 0
Регистрация: 09.05.2019
Сообщений: 110
09.05.2019, 02:40  [ТС] 4
Любопытная гипотеза, вот только код программы показывался и объяснялся ещё 25 марта по теме «Строки», а сейчас я хочу наверстать упущенное. Ах, да, забыл сказать, что этот код с академии, а не тыртырнета. Это один из нескольких сотен кодов. Конкретно этот я не могу сам разжевать.

Добавлено через 5 минут
Увы. Это просто один из кодов с лекции про строки. Код таким и был неполным — что показали, то и сфотографировал.
0
Прощай, Мир!
1671 / 828 / 252
Регистрация: 26.05.2012
Сообщений: 3,057
09.05.2019, 06:49 5
Лучший ответ Сообщение было отмечено PavelIks как решение

Решение

PavelIks, поочередно вводятся значения двух вещественных массивов, затем выводятся на дисплей полученные массивы..
после этого появляется меню с предложением ввода номера операции, которая должна осуществиться над двумя массивами.. пользователь вводит номер и затем видит результат искомой операции..
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include <locale.h>
 
using namespace std;
 
double min(double *mas1,int n,double *mas2,int m)
{
    double min=mas1[0];
 
    for(int i=1;i<n;i++)
    {
        if(mas1[i]<min)
        {
            min=mas1[i];
        }
    }
 
    for(int i=0;i<m;i++)
    {
        if(mas2[i]<min)
        {
            min=mas2[i];
        }
    }
 
    return min;
}
 
double max(double *mas1,int n,double *mas2,int m)
{
    double max=mas1[0];
 
    for(int i=1;i<n;i++)
    {
        if(mas1[i]>max)
        {
            max=mas1[i];
        }
    }
 
    for(int i=0;i<m;i++)
    {
        if(mas2[i]>max)
        {
            max=mas2[i];
        }
    }
 
    return max;
}
 
double avg(double *mas1,int n,double *mas2,int m)
{
    double sum=0;
    int cnt=n+m;
 
    for(int i=0;i<n;i++)
    {
        sum+=mas1[i];
    }
 
    for(int i=0;i<m;i++)
    {
        sum+=mas2[i];
    }
 
    return sum/cnt;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    const int n=3,m=5;
    double *mas1=new double[n];
    double *mas2=new double[m];
 
    cout<<"mas1 input:\n";
    for(int i=0;i<n;i++)
    {
        cout<<"mas1["<<i<<"]=";
        cin>>mas1[i];
    }
 
    cout<<"\nmas2 input:\n";
    for(int i=0;i<m;i++)
    {
        cout<<"mas2["<<i<<"]=";
        cin>>mas2[i];
    }
 
    cout<<"\nmas1: ";
    for(int i=0;i<n;i++)
    {
        cout<<mas1[i]<<" ";
    }
 
    cout<<"\nmas2: ";
    for(int i=0;i<m;i++)
    {
        cout<<mas2[i]<<" ";
    }
 
    cout<<"\n\nМЕНЮ КОМАНД:\n";
    cout<<"1 - Операция «Минимальное значение»\n";
    cout<<"2 - Операция «Максимальное значение»\n";
    cout<<"3 - Операция «Среднее значение»\n";
 
    int Punkt;
 
    cout<<"\nВведите команду: ";
    cin>>Punkt;
 
    switch(Punkt)
    {
        case 1:
            cout<<"Минимальное значение: "<<min(mas1,n,mas2,m);
            break;
        case 2:
            cout<<"Максимальное значение: "<<max(mas1,n,mas2,m);
            break;
        case 3:
            cout<<"Среднее значение: "<<avg(mas1,n,mas2,m);
            break;
        default:
            cout<<"Нет такой операции!\n";
    }
 
    system("pause");
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 09.05.2019
Сообщений: 110
09.05.2019, 15:49  [ТС] 6
proc3nt, искренне благодарен.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2019, 15:49
Помогаю со студенческими работами здесь

Найти max {min (a, b), min (c, d)}.
Найти max {min (a, b), min (c, d)}.

Max(x,y,z) min(x,y,z) на c++
max(x,y,z) min(x,y,z) на c++ Добавлено через 47 секунд пожалуйста помогите!

min(x,y) max(x,y)
заданы действительные числа х, у. получить min(x,y) max(x,y)?

max min
Всем доброго времени суток. нужна ваша помощь ув. программеры. Дана целочисленная матрица размера...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru