الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التعامل مع هياكل البيانات

بدأه SIFE في 1 مايو 2009 · 2 رد · 390 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

هذه دوال بسيطة للتعامل مع linked list المشكلة أن الترجمة من دون مشاكل و لكن النتيجة لاشيء .

void Allouer(noued &lst)

لإنشاء عقدة

void Liberer(noued &lst)

حذف عقدة

void Suivant(noued &lst)

التأشير إلى العقدة القادمة

var Valeur(noued &lst)

إظهار قيمة عقدة

void Aff_Adr(noued &lst,noued &lst2)

ربط عقدة الحالية بالجديدة

void Aff_Val(noued &lst,var x)

إعطاء قيمة لعقدة ما

#include<stdlib.h>

#include<stdio.h>

#define var int

struct list

{

var x;

struct list *suivant;

};

typedef list *noued;

void Allouer(noued &lst)

{

lst = (list*)malloc(sizeof(*lst));

}

void Liberer(noued &lst)

{

free(lst);

}

void Suivant(noued &lst)

{

lst = lst->suivant;

}

var Valeur(noued &lst)

{

return lst->x;

}

void Aff_Adr(noued &lst,noued &lst2)

{

lst->suivant = lst2;

}

void Aff_Val(noued &lst,var x)

{

lst->x = x;

}

main()

{

noued lst,head;

head = NULL;

int x;

while(x!=0)

{

scanf("%d",&x);

Allouer(lst);

Aff_Val(lst,x);

Aff_Adr(lst,head);

head = lst;

}

while(x)

{

printf("%d\n",Valeur(lst));

lst = Suivant(lst);

}

return 0;

}

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#2

خطأ بسيط فى الداله main

main()
{
noued lst,head;
head = NULL;
int x;
while(x!=0)
{
scanf("%d",&x);
Allouer(lst);
Aff_Val(lst,x);
Aff_Adr(lst,head);
head = lst;
}
while(lst!=NULL)
{
printf("%d\n",Valeur(lst));
lst=lst->suivant;
}
return 0;
}

سلام

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#3

شكرا لك يا أخي amin_mu123 لقد قمت بتصحيح خطأ أيضا في الدالة Suivant الآن أصبحت تعمل بفضل الله .

noued &Suivant(noued &lst)
{
 lst = lst->suivant;
 return lst;
}

البرنامج الآن :

main()
{
noued lst,head;
head = NULL;
int x;
while(x!=0)
{
scanf("%d",&x);
Allouer(lst);
Aff_Val(lst,x);
Aff_Adr(lst,head);
head = lst;
}
while(lst!=NULL)
{
printf("%d\n",Valeur(lst));
lst=Suivant(lst);
}
return 0;
}

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

مواضيع مشابهة