как удалить эту ошибку, пробовал все .... Эта программа о поиске 5 ближайшего числа из массива ... в основной части я просто беру массив, num и размер и проходит через функциюиндексированное значение не является ни массивом, ни указателем, ни вектором в c
void printclosest(int arr[], int x, int n)
{
int diff[30];
int i,j,k,p,a;
for (i = 0; i < n; ++i)
{
for (j = i + 1; j < n; ++j)
{
if (arr[i] > arr[j])
{
a = arr[i];
arr[i] = arr[j];
arr[j] = a;
}
}
}
for(i=0;i<n;i++)
{
diff[i]=abs(a[i]-x);
}
for (k = 0; k < n; ++k)
{
for (p = k + 1; p < n; ++p)
{
if (diff[k] > diff[p])
{
a = arr[k];
arr[k] = arr[p];
arr[p] = a;
}
}
}
for(i=0;i<5;i++)
{ printf("%d",arr[i]);
}
}
Пожалуйста, включите номер строки при отправке сообщений об ошибке! – 2501
Просьба дать более подробную информацию о том, что вы ожидаете. И, пожалуйста, правильно отформатируйте свой код. – Martze
Прежде всего, пожалуйста, отформатируйте свой код, чтобы он был доступен для чтения. Во-вторых, компилятор должен сообщить вам, в какой строке находится ошибка. Какая линия? – rost0031