Mam taki oto kod:
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
#define ROZMIAR_TABLICY 4
struct lista
{
float odleglosc;
int numer1;
int numer2;
struct lista* dalej;
};
typedef struct lista* Lista;
void przerzuc(float tablica[ROZMIAR_TABLICY][ROZMIAR_TABLICY], Lista* list)
{
int i,j;
for(i=0; i<ROZMIAR_TABLICY; i++)
{
for(j=0; j<ROZMIAR_TABLICY; j++)
{
if (i != j && tablica[i][j] != -1)
{
Lista temp = (Lista) malloc(sizeof(struct lista));
temp -> odleglosc = tablica[i][j];
temp -> numer1 = i;
temp -> numer2 = j;
temp -> dalej = *list;
*list = temp;
}
}
}
}
void wczytaj(float tablica[ROZMIAR_TABLICY][ROZMIAR_TABLICY])
{
int i,j;
for(i=0; i<ROZMIAR_TABLICY; i++)
{
for(j=0; j<ROZMIAR_TABLICY; j++)
{
if (i != j)
{
printf("Podaj odleglosc od %d do %d: ", i,j);
scanf("%f", &tablica[i][j]);
}
}
}
}
void druk(Lista lista)
{
while (lista != NULL) // dopoki nie natrafimy na wskaznik na null/nic
{
printf("odleglosc z %d do %d: %f
", lista -> numer1, lista -> numer2, lista -> odleglosc);
lista = lista -> dalej; // zapisujemy do lista wskaznik na nastepny element
}
}
int main()
{
float tablica[ROZMIAR_TABLICY][ROZMIAR_TABLICY];
Lista lista = NULL;
wczytaj(tablica);
printf("
");
przerzuc(tablica, &lista);
druk(lista);
return 0;
}
I teraz właśnie nie wiem jak stworzyć taką tablicę list ze wskaźnikami. Proszę o pomoc ;]