#include <stdio.h>
#include <stdlib.h>
#include <string.h>
const int max1=16, max2=21, max3=10;
struct dane{
int iLp;
int iSort;
char cImie[max1];
char cNazw[max2];
};
void sortowanie(struct dane *os)
{
int pom = 0;
for (int i = 0; i<10; i++)
for (int j = 0; j<10 - i - 1; j++) //pętla wewnętrzna
if ((os+j)->iSort >(os+j+1)->iSort)
{
//zamiana miejscami
dane tmp = os[j];
os[j] = os[j+1];
os[j+1] = tmp;
}
}
int main()
{
struct dane strStud[10]= {{1,11, "Jan","Kowalski"},{2,1, "Andrzej","Andrus"},{3,12,"Piotr","Lewandowski"},{4,22,"Anna", "Wojcik"},{5,4, "Sebastian", "Dabrowski"},{6,17, "Michal", "Putka"},{7,15,"Jaroslaw", "Nadkret"},{8,24, "Oskar", "Zak"},{9,14,"Bartosz","Michalski"},{10,7, "Radoslaw","Gabski"}};
printf("Dane przed sortowaniem:\n");
for(int i=0; i<10; i++)
{
printf("%d\t\t",strStud[i].iLp);
printf("%d\t\t",strStud[i].iSort);
printf("%s\t\t",strStud[i].cImie);
printf("%s\n",strStud[i].cNazw);
}
sortowanie(struct dane);
printf("Dane po sortowaniu:\n");
for(int i=0; i<10; i++)
{
printf("%d\t\t",strStud[i].iLp);
printf("%d\t\t",strStud[i].iSort);
printf("%s\t\t",strStud[i].cImie);
printf("%s\n",strStud[i].cNazw);
}
return 0;
}
Pokazuje mi błąd przy wywoływaniu funkcji sortowanie(); 'expected primary-expression before 'struct''. Nie wiem czy brakuje parametrów przy wywoływaniu funkcji czy co. Za wszelką pomoc będę wdzięczny ;)