Witam,
od razu mowie ze jestem nowy i dopiero sie ucze. Mam kod C w ktorym podaje sie liczbe osob i ich wiek. Kolejno sa one sortowane malejaco. Jednak nie bardzo wiem jak przerobic to na tablice dwuwymiarowa, zeby sortowalo wedlug wieku i jednoczesnie po uporzadkowaniu zmienialo numer osoby (teraz caly czas osoby sa od 1 do x, a zmienia sie wiek malejaco co jednoczesnie zmienia wiek danej osoby).
Będę bardzo wdzięczny za pomoc.
#include <stdio.h>
#include <stdlib.h>
void sortmal(float *, int);
int main(void)
{
int i, r;
printf("Podaj ilosc osob: ");
scanf("%d", &r);
float * tab = (float *)malloc(r * sizeof (double));
for (i = 0; i < r; i++)
{
printf ("Podaj wiek osoby %d: ", i+1);
scanf ("%f", &tab[i]);
}
printf("\n---------------------------------");
sortmal(tab, r);
printf ("\n\nSortowanie malejace: \n");
for (i = 0; i < r; i++)
{
printf ("Osoba %d: %.0f\n", i+1, tab[i]);
}
free(tab);
printf("\n\n");
system ("Pause");
return EXIT_SUCCESS;
}
void sortmal(float * tab, int r)
{
int i, j, temp;
for (i = 0; i < r; i++)
for (j = 0; j < r-1; j++)
{
if (tab[j] < tab[j+1])
{
temp = tab[j+1];
tab[j+1] = tab[j];
tab[j] = temp;
}
}
}