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; // Процент попаданий участников страны
- };
- printf("Количество спортсменов: ");
- scanf_s("%d", &z);
- struct Sports Biathlon[99];
- for (i = 0; i < z; i++)
- {
- h = 1; l = 0; min = -1; sec = -1;
- printf("Фамилия ", i + 1);
- printf("-го спортсмена:");
- scanf_s("%S", Biathlon[i].F);
- while (l != 3 || h == 0)
- {
- printf("Страна ", i + 1);
- printf("-го спортсмена: ");
- scanf_s("%S", 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)
- printf("Название страны должно иметь трехбуквенное сокращение");
- }
- printf("Количество промахов ", i + 1);
- printf("-го спортсмена на двух огневых рубежах: ");
- scanf_s("%d", &p);
- printf("Время прохождения дистанции ", i + 1);
- printf("-ым спортсменом: ");
- while (min > 60 || min < 0)
- {
- printf("Минуты: ");
- scanf_s("%d", &min);
- if (min > 60 || min < 0)
- printf("Невозможное количесвто минут");
- }
- while (sec > 60 || sec < 0)
- {
- printf("Секунды: ");
- scanf_s("%d", &sec);
- if (sec > 60 || sec < 0)
- printf("Невозможное количесвто секунд");
- }
- 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;
- }
- }
- printf("Наименьшее количество промахов в среднем допустила страна ", Biathlon[L].S);
- if (x != -1 && z >= 1)
- {
- printf("1-ое место занял ", Biathlon[L].F);
- if (y != -1 && z >= 2)
- {
- printf("2-ое место занял ", Biathlon[y].F);
- if (d != -1 && z >= 3)
- printf("3-ое место занял ", Biathlon[d].F);
- }
- }
- system("pause"); // Останавливаем окно консоли
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement