Witam, mam za zadanie posortować bazę danych, lecz przy kompilowaniu wywala mi błąd:
error: incompatible types when assigning to type ‘char[20]’ from type ‘char *’
Jak rozwiązać ten problem? Z góry dzięki
Moj kod:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10000
int main()
{
system("clear");
typedef struct Osoba{
char imie[20];
char nazwisko[20];
int pensja;
} Osoba;
Osoba tab[N];
... //Uzupelnianie struktury
//poczatek sortowania
int n,m,j;
char *tmpimie[20];
char *tmpnazwisko[20];
int tmppensja;
n=N;
while (n>1) {
m=1;
for (i=1; i<n; i=i+1)
for(j=0; j<20; j++)
if (tab[i-1].nazwisko[j] < tab[i].nazwisko[j] ) {
printf("tak\n");
tmpimie=tab[i-1].imie; tab[i-1].imie=tab[i].imie; tab[i].imie=tmpimie; // tu zaczyna się błąd
tmpnazwisko=tab[i-1].nazwisko; tab[i-1].nazwisko=tab[i].nazwisko; tab[i].nazwisko=tmpnazwisko;
tmppensja=tab[i-1].pensja; tab[i-1].pensja=tab[i].pensja; tab[i].pensja=tmppensja; // tu konczy
/*
Probowalem to rozwiazac tak lecz dalej mi nie sortuje
strcpy(tmpimie, tab[i-1].imie);
strcpy(tab[i-1].imie, tab[i].imie);
strcpy(tab[i].imie, tmpimie);
strcpy(tmpnazwisko, tab[i-1].nazwisko);
strcpy(tab[i-1].nazwisko, tab[i].nazwisko);
strcpy(tab[i].nazwisko, tmpnazwisko);
strcpy(tmppensja, tab[i-1].pensja);
strcpy(tab[i-1].pensja, tab[i].pensja);
strcpy(tab[i].pensja, tmppensja);
*/
m=i;
}
n=m;
}
return 0;
}