Sortowanie alfabetyczne studentów, według nazwisk/ C
Ostatnio zmodyfikowano 2017-01-19 18:49
Lepos443 Temat założony przez niniejszego użytkownika |
Sortowanie alfabetyczne studentów, według nazwisk/ C » 2017-01-19 08:33:42 Witam, Mam takie polecenie zadania "Napisz program, który wczytuje z klawiatury imiona i nazwiska grupy n studentów i zapisuje dane do tablicy, a następnie sortuje je według nazwisk w kolejności alfabetycznej"
Napisałem do niego taki program, niestety mam ciągle błąd "assignment to expression with array type" i nie wiem co z tym zrobić, mógłby mi ktoś pomóc?
#include <stdio.h> #include <stdlib.h> const int N=30, M=2, B=25;
int main(){ int i=0, xd=0, n, s = 0;
char dane[N][M][B], c, z, f; float tab[N];
do{ printf("Podaj ilosc studentow: "); i=scanf("%d", &n); fflush(stdin); }while(i==0||n>30||n<2); system("cls");
for(i=0;i<n;i++){ printf("\nPodaj imie studenta nr %d: ", i+1); scanf("%24s", &dane[0]); fflush(stdin); printf("Podaj nazwisko studenta nr %d: ", i+1); scanf("%24s", &dane[1]); fflush(stdin); }
for(i=0; i<n; i++){ tab=dane[1][0]; printf("\n%0.f", tab); }
do {
s=0; for (i=0;i<n;i++) { if (tab>tab[i+1]) { z=dane; f=dane[i+1]; dane=f; dane[i+1]=z; s=1; } } } while (s!=0); for(i=0; i<n; i++){ printf("\n %s %s", dane[0], dane[1]); }
return 0; } |
|
mokrowski |
» 2017-01-19 09:20:23 Miejże litość. Nazwij zmienne normalnie a nie pojedynczą literą. W scanf() próbujesz przypisać dane do tablicy wielowymiarowej (N, M, B) tak jakby to była tablica jednowymiarowa. I teraz co? Mam odkrywać czy B to nr studenta a M to... a N? Kto broni nazywać zmienne opisowo? Program nie będzie działał ani szybciej ani wolniej jeśli nazwiesz je: ilosc_studentow, indeks_imie_nazwisko... |
|
j23 |
» 2017-01-19 18:49:45 Po kursywie widać, że wcięło co najmniej jedno indeksowanie [i] ;) @ Lepos443, wstaw kod w znaczniki [cpp] kod [/cpp] , bo bez tego analiza Twojego kodu jest pozbawiona sensu. |
|
« 1 » |