Компилятор выдаёт ошибки
Ошибки:
error:stray '\300' in program
error:expected expression before ',' token
Номер строки, на которую указывают ошибки - 71
Суть программы в том, что она меняет местами минимальные значения в массивах или выводит сообщение о некорректном вводе, если в одном из массивов есть несколько одинаковых минимальных элементов.
Ввод:
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 1 2
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 3 4 4 4
Вывод:
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 3 2
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 4 4 4 4
4 1 4 4 4
#include <stdio.h>
#include <stdlib.h>
void scaner(int **X, int N, int M)
{
for (int i = 0; i < N; i++)
{
X[i] = (int*)malloc(M * sizeof(int));
for (int l = 0; l < M; l++)
scanf("%d", &X[i][l]);
}
}
int minimum_finder(int **X, int N, int M)
{
int p = 2147483647;
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
if (X[N][M] < p)
p = X[N][M];
return p;
}
int fooldetector(int **X, int N, int M)
{
int min = 2147483647;
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
if (X[N][M] < min)
min = X[N][M];
return min;
}
void printer(int **X, int N, int M, char c)
{
printf("Array %c\n", c);
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
printf("%d ", X[N][M]);
}
int main()
{
int **A, **B;
printf("Enter elements of the array A[57][1]\n");
A = (int**)malloc(57 * sizeof(int *));
scaner(A, 57, 1);
printf("\n");
printf("Enter elements of the array B[7][5]\n");
B = (int**)malloc(7 * sizeof(int *));
scaner(B, 7, 5);
printf("\n");
int at = fooldetector(A, 57, 1);
int bt = fooldetector(B, 5, 7);
if ((at != 0) || (bt != 0))
printf("Isn't correct: at = %d, bt = %d", at, bt);
else
{
int mA = minimum_finder(A, 57, 1);
int mB = minimum_finder(B, 5, 7);
int mC = mA;
mA = mB;
mB = mC;
printer(А, 57, 1, "F");
printer(B, 7, 5, "R");
}
return 0;
}
upd: заменил A и B на F и R в printer(). Выдаёт те же ошибки.
Ответы (2 шт):
Автор решения: Sergey
→ Ссылка
В конце программы, в операторе:
printer(А, 57, 1, 'A');
символ 'А' у Вас набит как КИРИЛИЧЕСКАЯ буква 'A'. Вбейте латиницей и программа скомпилируется.
Автор решения: AlexGlebe
→ Ссылка
В программе переменная
Апробита русской буквой. Поменяйте на латиницу.printer( A , 57, 1, 'A'); ^Вы печатаете адрес переменных, а надо сами числа.
printf("Isn't correct: at = %d, bt = %d", &at, &bt);
вот так :
printf("Isn't correct: at = %d, bt = %d", at, bt);