Известна сумма очков, набранных каждой из 20 команд-участниц чемпионата
по футболу. Определить сумму очков, набранных командами, занявшими в
чемпионате три первых места
C/C++
Сделать в с++ очень нужно
#include <iostream>
using namespace std;
int find_i_max(int * A, const int q)
{
int i = 0;
for(int x = 1; x < q; x++)
if(A[x] > A[i]) i = x;
return i;
}
int count_num(int * A, const int q, int num)
{
int count = 0;
for(int x = 0; x < q; x++)
if(A[x] == A[num]) count++;
return count;
}
int find_next_max(int * A, const int q, int max)
{
int next = 0;
for(int x = 1; x < q; x++)
{
if(A[x] > A[next] && A[x] < A[max])
{
next = x;
}
else if(A[next] == A[max])
{
next = x;
}
}
return next;
}
int main()
{
const int q = 20;
int A[q];
cout << "Введите суммы очков каждой из команд." << endl;
for(int x = 0; x < q; x++)
{
cout << "Сумма очков " << x + 1 << " команды равна ";
cin >> A[x];
}
int max1, max2, max3; // для первых трёх команд по кол-ву очков
max1 = find_i_max(A,q);
int count;
count = count_num(A,q,max1);
if(count > 2)
{
max3 = max2 = max1;
}
else if(count > 1)
{
max2 = max1;
max3 = find_next_max(A,q,max2);
}
else
{
max2 = find_next_max(A,q,max1);
count = count_num(A,q,max2);
if(count > 1)
{
max3 = max2;
}
else
{
max3 = find_next_max(A,q,max2);
}
}
cout << "Сумма очков трёх команд, занявших первые три места равна " << A[max1] + A[max2] + A[max3] << '.' << endl;
return 0;
}
using namespace std;
int find_i_max(int * A, const int q)
{
int i = 0;
for(int x = 1; x < q; x++)
if(A[x] > A[i]) i = x;
return i;
}
int count_num(int * A, const int q, int num)
{
int count = 0;
for(int x = 0; x < q; x++)
if(A[x] == A[num]) count++;
return count;
}
int find_next_max(int * A, const int q, int max)
{
int next = 0;
for(int x = 1; x < q; x++)
{
if(A[x] > A[next] && A[x] < A[max])
{
next = x;
}
else if(A[next] == A[max])
{
next = x;
}
}
return next;
}
int main()
{
const int q = 20;
int A[q];
cout << "Введите суммы очков каждой из команд." << endl;
for(int x = 0; x < q; x++)
{
cout << "Сумма очков " << x + 1 << " команды равна ";
cin >> A[x];
}
int max1, max2, max3; // для первых трёх команд по кол-ву очков
max1 = find_i_max(A,q);
int count;
count = count_num(A,q,max1);
if(count > 2)
{
max3 = max2 = max1;
}
else if(count > 1)
{
max2 = max1;
max3 = find_next_max(A,q,max2);
}
else
{
max2 = find_next_max(A,q,max1);
count = count_num(A,q,max2);
if(count > 1)
{
max3 = max2;
}
else
{
max3 = find_next_max(A,q,max2);
}
}
cout << "Сумма очков трёх команд, занявших первые три места равна " << A[max1] + A[max2] + A[max3] << '.' << endl;
return 0;
}
Похожие вопросы
- Что нужно добавить в код, с++, очень нужно срочно
- С++, реализовать код с помощью функции, помогите пожалуйста, очень нужно
- Помогите, пож, задача с++ очень нужно
- Помогите пожалуйста написать программу на C++. Очень нужно!
- Программирование, пожалуйста помогите очень нужно решить
- Помогите пожалуйста, нужно сделать программу на C++
- Всем салют! Ребят где я затупил в коротком коде на С++. Сделайте ревью. Выводит 144 а нужно 168.
- Помогите С++ с цикла for нужно сделать while цикл и do while цикл точнее у меня вышла только с циклом for
- Нужно сделать программу, с помощью backtracking
- Нужно сделать метод, в который я могу передать строку, а она должна вернуть мне длину последнего слова в этой строке