int** matrix = (int**)malloc(size_matrix * sizeof(int*));
for (int i = 0; i < size_matrix; i++) {
matrix[i] = (int*)malloc(size_matrix * sizeof(int));
for (int j = 0; j < size_matrix; j++) {
matrix[i][j] = -1;
}
}
for (int i = 0; i < size_matrix; i++) {
matrix[i][i] = 0;
}
for (int index1 = 0; index1 < size_matrix; index1++) {
for (int index2 = 0; index2 < size_matrix; index2++) {
if (matrix[index1][index2] == -1) {
int temp = rand() % 3;
temp = (temp == 0) ? 1 : (temp == 1) ? 0 : 3;
matrix[index1][index2] = temp;
if (temp == 3) {
matrix[index2][index1] = 0;
} else if (temp == 1) {
matrix[index2][index1] = 1;
} else if (temp == 0) {
matrix[index2][index1] = 3;
}
}
}
}
for (int i = 0; i < size_matrix; i++) {
for (int j = 0; j < size_matrix; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
printf("\n\n");
return matrix;
}
int check() {
int number_of_commands;
while (1) {
printf("введите количество команд: ");
if (scanf("%d", &number_of_commands) == 1 && number_of_commands > 0) {
break;
} else {
printf("Введите натуральное число!!!\n");
while(getchar() != '\n');
}
}
return number_of_commands;
}
void output_points(int** table, int size_matrix) {
int maximum = 0;
int* mass_points = (int*)malloc(size_matrix * sizeof(int));
for (int x = 0; x < size_matrix; x++) {
int point_counter = 0;
for (int y = 0; y < size_matrix; y++) {
point_counter += table[y][x];
}
printf("сумма очков команды %d: %d\n", x + 1, point_counter);
if (point_counter >= maximum) {
maximum = point_counter;
}
mass_points[x] = point_counter;
}
printf("максимальное число очков: %d\n", maximum);
for (int index = 0; index < size_matrix; index++) {
if (mass_points[index] == maximum) {
printf("команда с максимальной суммой очков: %d\n", index + 1);
}
}
free(mass_points);
}
int main() {
srand(time(NULL));
int size_matrix = check();
int** table = generate_table(size_matrix);
output_points(table, size_matrix);
for (int i = 0; i < size_matrix; i++) {
free(table[i]);
}
free(table);
return 0;
}
ебать, на пастебин бы закинул
Обсуждают сегодня