cefurkan
03/12/2006, 19:12
evet bir kac gundur urasiyorum ama basaramadim
su anda sizden yardim istedigim konu
bağli liste yapisi olusturucam bir tane ve bu listeye dugumler eklicem
ekledigim dugum struct inin icinde
next
next_prime
ve veri var
su anda ben ilk once listeyi olusturmak istiyorum odev asamalari var ama su anda sadece listede yardim etseniz yeter
bu dugumlerdeki next leri sirali olarak listeye eklemek istiyorum
iste yazdigim kod ama derlemede hata cikmasada calistirirken hata cikiyor:aglama::aglama::aglama:
girdileri komut satirindan aliyoruz
isterseniz odevin hepsini koyarim ama kendim yapmak istiyorum :)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct dugum {
int veri;
struct dugum *next_prime;
struct dugum *next;
} dugum_tipi;
typedef struct liste {
struct dugum *liste_ptr;
struct dugum *asal_ptr;
} liste_tipi;
dugum_tipi *listeye_ekle (int,dugum_tipi*);
dugum_tipi *dugum_al(int );
int main(int argc,char *argv[]){
int i;
liste_tipi *listeptrr;
dugum_tipi liste,*t;
listeptrr=NULL;
for( i=1; i<argc; i++){
int deger=atoi(argv[i]);
listeye_ekle(deger,&liste);
}
t=&liste;
for( i=1; i<argc; i++)
printf("%d\n",t->veri); // bu kisim listemin olusup olusmadigini test etmek icin ama paso -1 yazdiriyor:(
return 0;
}
dugum_tipi *dugum_al(int deger){
dugum_tipi *yenidugum;
yenidugum=(dugum_tipi *)malloc(sizeof(dugum_tipi));
if(yenidugum==NULL)
printf("bellek alinamadi\n");
else
{
yenidugum->veri=deger;
yenidugum->next=NULL;
yenidugum->next_prime=NULL;
}
return yenidugum;
}
dugum_tipi *listeye_ekle(int deger,dugum_tipi *liste_ptr)
{
dugum_tipi *p,*t,*bas;
p=dugum_al(deger);
if(p==NULL)
printf("");
else
{
if(liste_ptr==NULL)
liste_ptr=p;
else
{
t=liste_ptr;
bas=t;
if(deger>t->veri)
{
while(t->next!=NULL && deger>t->veri)
t=t->next;
p->next=t->next;
t->next=p;
liste_ptr=bas;
}
else
{
p->next=t;
liste_ptr=p;
}
} }
return liste_ptr;
}
su anda sizden yardim istedigim konu
bağli liste yapisi olusturucam bir tane ve bu listeye dugumler eklicem
ekledigim dugum struct inin icinde
next
next_prime
ve veri var
su anda ben ilk once listeyi olusturmak istiyorum odev asamalari var ama su anda sadece listede yardim etseniz yeter
bu dugumlerdeki next leri sirali olarak listeye eklemek istiyorum
iste yazdigim kod ama derlemede hata cikmasada calistirirken hata cikiyor:aglama::aglama::aglama:
girdileri komut satirindan aliyoruz
isterseniz odevin hepsini koyarim ama kendim yapmak istiyorum :)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct dugum {
int veri;
struct dugum *next_prime;
struct dugum *next;
} dugum_tipi;
typedef struct liste {
struct dugum *liste_ptr;
struct dugum *asal_ptr;
} liste_tipi;
dugum_tipi *listeye_ekle (int,dugum_tipi*);
dugum_tipi *dugum_al(int );
int main(int argc,char *argv[]){
int i;
liste_tipi *listeptrr;
dugum_tipi liste,*t;
listeptrr=NULL;
for( i=1; i<argc; i++){
int deger=atoi(argv[i]);
listeye_ekle(deger,&liste);
}
t=&liste;
for( i=1; i<argc; i++)
printf("%d\n",t->veri); // bu kisim listemin olusup olusmadigini test etmek icin ama paso -1 yazdiriyor:(
return 0;
}
dugum_tipi *dugum_al(int deger){
dugum_tipi *yenidugum;
yenidugum=(dugum_tipi *)malloc(sizeof(dugum_tipi));
if(yenidugum==NULL)
printf("bellek alinamadi\n");
else
{
yenidugum->veri=deger;
yenidugum->next=NULL;
yenidugum->next_prime=NULL;
}
return yenidugum;
}
dugum_tipi *listeye_ekle(int deger,dugum_tipi *liste_ptr)
{
dugum_tipi *p,*t,*bas;
p=dugum_al(deger);
if(p==NULL)
printf("");
else
{
if(liste_ptr==NULL)
liste_ptr=p;
else
{
t=liste_ptr;
bas=t;
if(deger>t->veri)
{
while(t->next!=NULL && deger>t->veri)
t=t->next;
p->next=t->next;
t->next=p;
liste_ptr=bas;
}
else
{
p->next=t;
liste_ptr=p;
}
} }
return liste_ptr;
}