Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Sortowanie alfabetyczne studentów, według nazwisk/ C

Ostatnio zmodyfikowano 2017-01-19 18:49
Autor Wiadomość
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;
}
P-156646
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...
P-156647
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.
P-156668
« 1 »
  Strona 1 z 1