Ошибка с указателями - 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д