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

Поиск максимума и минимума

15.06.2021, 12:58. Показов 380. Ответов 0

Есть в общем вот такой код, как мне найти здесь минимум для значений Vi, и максимум для значений Vi2?
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <iostream>
using namespace std;
 
int main()
{
    const int N=9;
    int i=0, j=0, mas[N]{};
    cout<<"Ввод матрицы:"; // Ввести матрицу с клавиатуры
    for (i=0; i<N; i++)
    {cin >> mas[i];}
    cout<<endl;
    for (i=0; i<N; i++)
    {
        cout<<mas[i]<<"\t"; // Вывод матрицы столбцами
        if(i==2 || i==5)
        {cout<<endl;}
    }
    cout<<endl<<endl;
    int mas3[6], max=-100, min=1000, max1=1000, min1=-1000; // Инициализация переменных
    i=0;
    j=0;
    for (i=0; i<=N; i++)
    {
        if(i==3 || i==6 || i==9) // Поиск минимума в матрице по строкам
        {
            if(min1<min)
            {
                min1=min;
            }
            min=1000;
        }
        if (min>mas[i])
        {min=mas[i];}
    }
    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++) // Поиск максимума в матрице по столбцам
        {
            if (max<mas[i+3*j])
            {
                max=mas[i+3*j];
            }
        }
        if(max1>max)
        {
            max1=max;
        }
        max=-100;
    }
    // Проверка седловой точки по условию
    cout<<"a = "<<min1<<endl<<"b = "<<max1<<endl;
    if(min1!=max1)
    {cout<<"Седловая точка отсутствует"<<endl;}
    else {cout<<"Седловая точка"<<endl;}
    cout<<"\n"<<endl;
    int mas2[6]{mas[0],mas[0+3],mas[0+3*2],mas[0],mas[1],mas[2]}; // Инициализация переменных
    i=2;
    char A='A', a='a';
    float Vi=0, Vi2=0, A1=1, B1=0, a1=1, b1=0;
    // Расчет выигрыша Первого игрока
    if (mas2[0]>=mas2[1]&&mas2[0]>=mas2[2])
    {Vi=1.0*mas2[0]/1;}
    if (mas2[1]>mas2[0]&&mas2[1]>mas2[2])
    {Vi=1.0*mas2[1]/1;}
    if (mas2[2]>mas2[1]&&mas2[2]>mas2[0])
    {Vi=1.0*mas2[2]/1;}
    // Расчет выигрыша Второго игрока
    if (mas2[3]<mas2[4]&&mas2[3]<mas2[5])
    {Vi2=1.0*mas2[3]/1;}
    if (mas2[4]<mas2[3]&&mas2[4]<mas2[5])
    {Vi2=1.0*mas2[4]/1;}
    if (mas2[5]<mas2[3]&&mas2[5]<mas2[4])
    {Vi2=1.0*mas2[5]/1;}
    cout.precision(5); // Вывод результата расчетов до 5 знаков после запятой
    cout << "\t\t\tA\tB\tC\ta\tb\ty\t         Vi\t\tVi2\t\n" <<i-1<<"\t"<<A<<"\t"<<a<<"\t"<<mas2[0]<<"\t"<<mas2[1] << "\t" << mas2[2] << "\t" <<mas2[3] << "\t" <<mas2[4]<<"\t"<<mas2[5]<<"\t"<<endl;
    while(i<=20)
    {
        // Расчет стратегий для первого игрока
        if(mas2[0]>=mas2[1]&&mas2[0]>=mas2[2])
        {
            A = 'A';
            A1++;
        }
        if(mas2[1]>mas2[0]&&mas2[1]>=mas2[2])
        {
            A = 'B';
            B1++;
        }
        if(mas2[2]>mas2[1]&&mas2[2]>mas2[0])
             {A = 'C';}
        // Расчет стратегий для второго игрока
        if(mas2[3]<=mas2[4]&&mas2[3]<=mas2[5])
        {
            a = 'a';
            a1++;
        }
        if(mas2[4]<mas2[3]&&mas2[4]<mas2[5])
        {
            a = 'b';
            b1++;
        }
        if(mas2[5]<mas2[3]&&mas2[5]<mas2[4])
        {a = 'y';}
        for(int j=0; j<3; j++)
        {
            // Расчет выигрыша для первого игрока по стратегиям второго
            if(a == 'a')
            {mas2[j]+=mas[0+3*j];}
            if(a == 'b')
            {mas2[j]+=mas[1+3*j];}
            if(a == 'y')
            {mas2[j]+=mas[2+3*j];}
        }
        for(int j=0; j<3; j++)
        {
            // Расчет выигрыша для второго игрока по стратегиям первого
            if(A == 'A')
            {mas2[3+j]+=mas[0+3*0+j];}
            if(A == 'B')
            {mas2[3+j]+=mas[0+3*1+j];}  
            if(A == 'C')
            {mas2[3+j]+=mas[0+3*2+j];}
        }
        // Расчет среднего выигрыша Первого игрока
        if(mas2[0]>=mas2[1]&&mas2[0]>=mas2[2])
        {Vi=1.0*mas2[0]/i;}
        if(mas2[1]>mas2[0]&&mas2[1]>mas2[2])
        {Vi=1.0*mas2[1]/i;}
        if(mas2[2]>mas2[1]&&mas2[2]>mas2[0])
        {Vi=1.0*mas2[2]/i;}
        // Расчет среднего выигрыша Второго игрока
        if (mas2[3]<=mas2[4]&&mas2[3]<=mas2[5])
        {Vi2=1.0*mas2[3]/i;}
        if (mas2[4]<mas2[3]&&mas2[4]<mas2[5])
        {Vi2=1.0*mas2[4]/i;}
        if (mas2[5]<mas2[3]&&mas2[5]<mas2[4])
        {Vi2=1.0*mas2[5]/i;}
        // Вывод результата в виде таблицы
        cout <<i<<"\t"<< A << "\t" << a << "\t" << mas2[0] << "\t" << mas2[1] << "\t"<< mas2[2] << "\t" << mas2[3] <<"\t" << mas2[4] << "\t" << mas2[5] << "\t        "<<Vi<<"\t\t"<<Vi2<<"\t"<< endl;
        i++;
    }
    // Вероятность выбора каждой стратегии для каждого игрока
    cout << "\n    A = " << A1/20 << "\ta = " << a1/20 << endl;
    cout << "    B = " << B1/20 << "\tb = " << b1/20 << endl;
    cout << "    C = " << 1-((B1/20)+(A1/20)) << "\tc = " << 1-((a1/20)+(b1/20))<< endl;
    cout <<endl;
    cout << Vi << " < V < " << Vi2 << "   " << "P = ("<< A1/20 << "; "<< B1/20 << "; " << 1-((B1/20)+(A1/20)) << ") " << "Q = (" << a1/20 << "; " << b1/20 << "; "<< 1-((a1/20)+(b1/20)) << ") "<< endl;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2021, 12:58
Ответы с готовыми решениями:

Поиск максимума и минимума
Уважаемые форумчане помогите с задачей немогу понять как её зделать. Задание:N точек на площаде...

Функции. Поиск минимума и максимума.
Составить программу для нахождения суммы минимального и максимального значений среди элементов...

Поиск минимума и максимума в двумерном массиве
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { int n; cin &gt;&gt;...

Поиск минимума и максимума в динамическом массиве указателей
Вот функции минимума и максимума в шаблоне класса. Проблема в том, что меняется значение 1 элемента...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2021, 12:58
Помогаю со студенческими работами здесь

Вычисление минимума/максимума
Даны действительные числа Х,У,Z.Вычислить 1)max (x+y+z;xyz) 2)min (x+y+z/2;чня)+1

Сумма максимума и минимума
Добрый день, не могу решить задачку. Задана последовательность целых чисел. Числа нумеруются по...

Сумма максимума и минимума
Требуется написать программу, которая найдет сумму максимума из чисел с четными номерами и минимума...

Подсчет минимума и максимума в файле
Помогите решить задачу. &quot;Сформировать файл 1) Фамилия велогонщика 2) Количество минут 3)...

Шаблон функции нахождения максимума и минимума
Пожалуйста кто хорошо осведомлён в теме Шаблоны Объясните как написать функцию с использованием...

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


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

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

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