Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void main() {
- int zozh[8][3];
- int maxs[8];
- int c, t;
- int max_number, max_i, max_j, buff_max, buff2_max;
- srand(time(NULL));
- // заполняем массив случайными числами
- for(int i = 0; i < 8; i++) {
- c = 0;
- printf("\nУчастник %d - ", i+1);
- for(int j = 0; j < 3; j++) {
- zozh[i][j] = rand()%100;
- if(c != 3) {
- printf("%d ", zozh[i][j]);
- }
- else {
- printf("\n");
- c = 0;
- }
- }
- }
- // Ищем максимальный результат
- for (int i = 0; i < 8; i++) {
- for(int j = 0; j < 3; j++) {
- if (zozh[i][j] > max_number) {
- max_i = i;
- max_j = j;
- max_number = zozh[i][j];
- }
- }
- }
- // Ищем спортсменов с максимальным результатов
- // может быть такое что один и тот же спортсмен дважды набрал максимум
- // чтобы этого избежать мы считаем количество выводов для одного и того же спортсмена
- // с помощью переменной c
- // Ищем победителей
- printf("\nМаксимальный результат: %d\nПобедили игроки под номер(-ом/-ами): ", max_number);
- for (int i = 0; i < 8; i++) {
- c = 0;
- for (int j = 0; j < 3; j++) {
- if (zozh[i][j] == max_number) {
- if (c == 0) {
- printf("%d ", i+1);
- c = 1;
- }
- }
- }
- }
- // Здесь и далее по проходам фигурирует переменная t
- // она проверяет есть ли в строчке результат лучше текущего
- // допустим здесь ищем второе место и в этой же строчке есть первое место
- // то не учитываем и идем дальше
- // Ищем второй макс результат
- for (int i = 0; i < 8; i++) {
- t = 0;
- for (int j = 0; j < 3; j++) {
- if (zozh[i][j] == max_number) {
- t = 1;
- }
- }
- for(int j = 0; j < 3; j++) {
- if (zozh[i][j] > buff_max && zozh[i][j] < max_number && t == 0) {
- max_i = i;
- max_j = j;
- buff_max = zozh[i][j];
- }
- }
- }
- printf("\nВторой максимальный результат: %d\nВторое место занял(-и) игроки под номер(-ом/-ами): ", buff_max);
- for (int i = 0; i < 8; i++) {
- c = 0;
- for (int j = 0; j < 3; j++) {
- if (zozh[i][j] == buff_max) {
- if (c == 0) {
- printf("%d ", i+1);
- c = 1;
- }
- }
- }
- }
- // Ищем третий макс результат
- for (int i = 0; i < 8; i++) {
- t = 0;
- for (int j = 0; j < 3; j++) {
- if (zozh[i][j] == buff_max) {
- t = 1;
- }
- }
- for(int j = 0; j < 3; j++) {
- if (zozh[i][j] > buff2_max && zozh[i][j] < buff_max) {
- max_i = i;
- max_j = j;
- buff2_max = zozh[i][j];
- }
- }
- }
- printf("\nТретий максимальный результат: %d\nТретье место занял(-и) игроки под номер(-ом/-ами): ", buff2_max);
- for (int i = 0; i < 8; i++) {
- c = 0;
- for (int j = 0; j < 3; j++) {
- if (zozh[i][j] == buff2_max) {
- if (c == 0) {
- printf("%d ", i+1);
- c = 1;
- }
- }
- }
- }
- // поиск максимального у участника
- for (int i = 0; i < 8; i++) {
- buff_max = -1;
- for(int j = 0; j < 3; j++) {
- if(buff_max < zozh[i][j]) {
- buff_max = zozh[i][j];
- }
- }
- maxs[i] = buff_max;
- }
- printf("\n");
- printf("Рейтинг:\n");
- c = 1;
- for (int i = 100; i >= 0; i--) {
- for (int j = 0; j < 8; j++) {
- if (maxs[j] == i) {
- printf("%d. Спротсмен %d - %d\n", c, j+1, i);
- c++;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement