Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <cmath>
- #include <iostream>
- #include <locale.h>
- #include <string.h>
- #include <conio.h>
- #include <Windows.h> // Библиотека Windows API
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "Russian");
- system("chcp 1251");
- system("cls");
- int i, j, z, p, x, y, d;
- int m1 = 100000, m2 = 100000, m3 = 100000;
- int min, sec, t, l, h, L;
- float mP = 1000;
- struct Sports
- {
- char F[30]; // Фамилия спортсмена
- char S[3]; // Страна, которую представляет спортсмен
- int T; // Время прохождения дистанции
- int P; // Количество промахов на двух рубежах
- float L; // Промахи участников страны
- float U; // Количество участников страны
- float PP; // Процент попаданий участников страны
- };
- cout << "Количество спортсменов: ";
- cin >> z; cout << endl;
- struct Sports Biathlon[99];
- for (i = 0; i < z; i++)
- {
- h = 1; l = 0; min = -1; sec = -1;
- cout << "Фамилия " << i + 1 <<"-го спортсмена: ";
- cin >> Biathlon[i].F;
- while (l != 3 || h == 0)
- {
- cout << "Страна " << i + 1 << "-го спортсмена: ";
- cin >> Biathlon[i].S;
- l = strlen(Biathlon[i].S);
- for (j = 0; j < l; j++)
- {
- if (isalpha(Biathlon[i].S[j]) != 0 && l == 3)
- h = 1;
- else
- h = 0;
- }
- if (l != 3 || h == 0)
- cout << "Название страны должно иметь трехбуквенное сокращение" << endl;
- }
- cout << "Количество промахов " << i + 1 << "-го спортсмена на двух огневых рубежах: ";
- cin >> p;
- cout << "Время прохождения дистанции " << i + 1 << "-ым спортсменом:" << endl;
- while (min > 60 || min < 0)
- {
- cout << "Минуты: "; cin >> min;
- if (min > 60 || min < 0)
- cout << "Невозможное количесвто минут" << endl;
- }
- while (sec > 60 || sec < 0)
- {
- cout << "Секунды: "; cin >> sec;
- if (sec > 60 || sec < 0)
- cout << "Невозможное количесвто секунд" << endl;
- }
- t = min * 60 + sec;
- Biathlon[i].P = p;
- Biathlon[i].T = t;
- Biathlon[i].L = 0;
- Biathlon[i].U = 0;
- Biathlon[i].PP = 0;
- cout << endl;
- }
- for (i = 0; i < z; i++)
- {
- for (j = 0; j < z; j++)
- {
- if (Biathlon[i].S == Biathlon[j].S)
- {
- Biathlon[i].L += Biathlon[j].P;
- Biathlon[i].U++;
- }
- }
- Biathlon[i].PP = Biathlon[i].L / Biathlon[i].U;
- if (Biathlon[i].PP < mP)
- {
- mP = Biathlon[i].PP;
- L = i;
- }
- }
- for (i = 0; i < z; i++)
- {
- if (Biathlon[i].T < m1 && z >= 1)
- {
- m1 = Biathlon[i].T;
- x = i;
- }
- }
- for (i = 0; i < z; i++)
- {
- if (Biathlon[i].T < m2 && i != x && z >= 2)
- {
- m2 = Biathlon[i].T;
- y = i;
- }
- }
- for (i = 0; i < z; i++)
- {
- if (Biathlon[i].T < m3 && i != x && i != y && z >= 3)
- {
- m3 = Biathlon[i].T;
- d = i;
- }
- }
- cout << "Наименьшее количество промахов в среднем допустила страна " << Biathlon[L].S << endl << endl;
- if (x != -1 && z >= 1)
- {
- cout << "1-ое место занял " << Biathlon[x].F << endl;
- if (y != -1 && z >= 2)
- {
- cout << "2-ое место занял " << Biathlon[y].F << endl;
- if (d != -1 && z >= 3)
- cout << "3-ое место занял " << Biathlon[d].F << endl;
- }
- }
- system("pause"); // Останавливаем окно консоли
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement