C/C++

Где ошибка в программе?

Https://onlinegdb.com/HJspQeN9w
#include <stdio.h>
#include <stdlib.h>
#define n 8
#define m 3
int main() {
int i, j;
double A[n][m];
double best = 0;
double second = -1;
for (i = 0; i < n; ++i) {
double person = -1;
for (j = 0; j < m; ++j) {
printf("Спортсмен № %i результат %i броска: ", i + 1, j + 1);
scanf("%lf", &A[i][j]);
if (A[i][j] > person) person = A[i][j];
}
if (best < person) {
second = best;
best = person;
} else if (person != best && second <= person) {
second = person;
}
}
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
if (A[i][j] == best) {
printf("Победитель: атлет под номером %d\n", i + 1);
break;
}
}
}
for (i = 0; i < n; ++i) {
int a = 0;
int b = 1;
for (j = 0; j < m; ++j) {
if (A[i][j] == second) a = 1;
if (A[i][j] == best) b = 0;
}
if (a && b) {
printf("Второе место занял атлет под номером %d\n", i + 1);
}
}
return 0;
}
Сабит Арбагулов
Сабит Арбагулов
51 262
Лучший ответ
отсчёт идёт с нуля до 7, для массива в 8.
может ошибаюсь..
#include
#include
int main()
{
int i = 8, j = 3;
int A[i][j];
float best = 0, second = 0;
for(i = 0; i < 8; i++)
{
for(j = 0; j < 3;)
{
printf("Спортсмен № %d результат %d броска: ", i, j++);
scanf("%d", &A[i][j]);
if(A[i][j] >= best)
{best = A[i][j];}
}
}
for(i = 0; i < 8; i++)
{
for(j = 0; j < 3;)
{
if((A[i][j] >= second) && (A[i][j] < best))
{second = A[i][j];}
}
}
for(i = 0; i < 8; i++)
{
for(j = 0; j < 3;)
{
j++;
if(A[i][j] >= best)
{printf("\nПобедитель: атлет под номером %d", i);}
}
}
for(i = 0; i < 8; i++)
{
for(j = 0; j < 3;)
{
j++;
if((A[i][j] >= second) && (A[i][j] < best))
{printf("\nВторое место занял атлет под номером %d", i);}
}
}
return 0;
}