Ошибка с указателями - C (СИ)
Формулировка задачи:
Необходимо отсортировать одномерный массив. Написал функцию, но компилятор выдаёт ошибку в строке 55: error: invalid type argument of unary '*' (have 'int')
Что я сделал не так?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void sortuj(int tab[], int N);
void swap(int*, int*);
int main(void)
{
srand(time(NULL));
int N1, N2;
printf("Podaj rozmiar tablicy t1: ");
scanf("%d", &N1);
printf("\nPodaj rozmiar tablicy t2: ");
scanf("%d", &N2);
int t1[N1];
int t2[N2];
for(int i = 0; i < N1; i++)
{
t1[i] = 1 + rand() % 10;
printf("%d ", t1[i]);
}
printf("\n");
for(int i = 0; i < N2; i++)
{
t2[i] = 1 + rand() % 10;
printf("%d ", t2[i]);
}
printf("\n");
sortuj(t1, N1);
sortuj(t2, N2);
printf("\n");
return 0;
}
void sortuj(int tab[], int N)
{
for(int i = 1; i < N; i++)
{
for(int j = i; j > 0 && tab[j - 1] > tab[j]; j--)
{
swap(&tab[j - 1], &tab[j]);
}
}
}
void swap(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = *temp;
}Решение задачи: «Ошибка с указателями»
textual
Листинг программы
*y = temp;