C++
Даны 20 пар однозначных чисел. Первое число каждой пары означает количество мячей, забитых футбольной командой в игре, второе — количество пропущенных мячей в этой же игре. Определить количество выигрышей, количество ничьих и количество проигрышей данной команды.
Ответы
// Однозначные числа генерировал при помощи std::rand, чтобы результаты не повторялись (при следующих запусках программы) использовал std::srand(std::time(0))
// В условии сказано о парах -- использовал std::pair<int, int>, их поместил в std::array
// Первый цикл заполняет массив игр, второй собирает статистику
#include <iostream>
#include <array> // std::array
#include <utility> // std::pair
#include <cstdlib> // std::rand
#include <ctime> // std::time
int main()
{
const int gamesCount = 20;
std::srand(std::time(0));
std::array<std::pair<int, int>, gamesCount> games;
for (int i = 0; i < gamesCount; ++i) {
int a = std::rand() % 10;
int b = std::rand() % 10;
games[i] = std::make_pair(a, b);
std::cout << "Game " << i + 1 << ": " << a << " " << b << '\n';
}
int victoryCount = 0;
int defeatCount = 0;
int drawCount = 0;
for (int i = 0; i < gamesCount; ++i) {
int scoredGoals = games[i].first;
int missedGoals = games[i].second;
int delta = scoredGoals - missedGoals;
if (delta > 0)
victoryCount++;
else if (delta < 0)
defeatCount++;
else
drawCount++;
}
std::cout
<< '\n'
<< "Number of victories: " << victoryCount << '\n'
<< "Number of defeats: " << defeatCount << '\n'
<< "Number of draws: " << drawCount << '\n';
}
