Napisałem cos takiego:
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
struct element
{
float wartosc;
struct element *prev;
struct element *next;
};
int dodaj (struct element *wskazany, float liczba)
{
struct element *nowy;
nowy=(struct element*)malloc(sizeof(struct element));
nowy->wartosc=liczba;
nowy->next=wskazany->next;
nowy->prev=wskazany;
wskazany->next=nowy;
nowy->next->prev=nowy;
free(nowy);
return 1;
};
void wypisz (struct element *wskazany)
{
printf("ten element to %f
",wskazany->wartosc);
};
int main(int argc, char *argv[])
{
struct element *wskazany = NULL;
float x;
while(x!=0)
{
wypisz(&wskazany);
scanf("%f",&x);
dodaj (&wskazany,x);
};
system("PAUSE");
return 0;
}
Poza tym mam pytanie, jak mam zrobić takie coś żebym mógł wybierać jeden element i po nim coś wpisać lub go usunąć. Bo te elementy się w ogóle nie nazywają to jak się do nich odwołać. Skoro ten pierwszy jest "wskazany"(tak go nazwałem), następny ma tylko wskaźnik do wskazanego, jeszcze następny do tego drugiego itd. to jak to zrobić żeby po wypisaniu x elementów nagle wskazać np. na 5 ? albo wypisać 5,6 i 10 ?