مشكـــلة في Les Listes Linéaires Chainées - منتديات الجلفة لكل الجزائريين و العرب

العودة   منتديات الجلفة لكل الجزائريين و العرب > منتديات الجامعة و البحث العلمي > الحوار الأكاديمي والطلابي > قسم أرشيف منتديات الجامعة

قسم أرشيف منتديات الجامعة القسم مغلق بحيث يحوي مواضيع الاستفسارات و الطلبات المجاب عنها .....

في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة تقرير عن مشاركة سيئة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .

آخر المواضيع

مشكـــلة في Les Listes Linéaires Chainées

 
 
أدوات الموضوع انواع عرض الموضوع
قديم 2013-03-28, 10:59   رقم المشاركة : 1
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










B11 مشكـــلة في Les Listes Linéaires Chainées

السلام عليكم
أعاني من مشكل في كيفية عرض La liste linéaire chainée
البرنامج يعمل لكنه لا يعرض لي la liste في النهاية
البرنامج بلغة C في المرفقات
أرجو توضيح الخطأ في البرنامج
وشكـــــــراا








 

الملفات المرفقة
نوع الملف: txt C.txt‏ (1.9 كيلوبايت, المشاهدات 11)

قديم 2013-03-28, 12:08   رقم المشاركة : 2
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

الرجــــــــــــاء المساعدة










قديم 2013-03-28, 19:22   رقم المشاركة : 3
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

*=== (( ما يلفظ من قول إلا لديه رقيب عتيد )) ===*










قديم 2013-03-29, 10:07   رقم المشاركة : 4
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

*=== (( ما يلفظ من قول إلا لديه رقيب عتيد )) ===*










قديم 2013-03-29, 12:35   رقم المشاركة : 5
معلومات العضو
agm1991
عضو نشيط
 
إحصائية العضو










افتراضي توضيح بعض النقاط

السلام عليكم ورحمة الله وبركاته
لدي بعض التعليقات على الحل
اولا:ما فائدة هذه العبارة مادمت لا تستخدمها

كود PHP:
        typedef struct Maillon Maillon
ملاحظة:
العبارة typedef تستخدم لإعاة صياغة الكلمات المحجوزة بشكل مختصر(اختصرت struct Maillonالى Maillon ;ولكنك استمريت في استخدام struct Maillonبدلا عنMaillon)
ثانيا:
في الحلقة for وضعت شرطالا معنى له
قيمة tete لا تتغير ابدا (يعني الشرط دائما غير محقق)
كود PHP:
 if ( Tete != NULL )
                  {
                      
Aff_Adr(p,q);
                  }
                else
                  {
                      
p=q;
                  } 
ثالثا:
بعد الحلقةfor قمت بإعطاء القيمة NULL للمؤشر P (قيمة tete تحتوي علىNULL )
كود PHP:
p=Tete
وكنتيجة حتمية لن تعمل حلقة while لان الشرط غير محقق
----------------------------------------------
عذرا, حاليا لم استطع تنفذ الحل على الحاسوب لان لدي بعض مشاكل في الوينودز لم تسمح بتنفيذه.









قديم 2013-03-29, 15:00   رقم المشاركة : 6
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة agm1991 مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاته
لدي بعض التعليقات على الحل
اولا:ما فائدة هذه العبارة مادمت لا تستخدمها
كود PHP:
        typedef struct maillon maillon
ملاحظة:
العبارة typedef تستخدم لإعاة صياغة الكلمات المحجوزة بشكل مختصر(اختصرت struct maillonالى maillon ;ولكنك استمريت في استخدام struct maillonبدلا عنmaillon)
ثانيا:
في الحلقة for وضعت شرطالا معنى له
قيمة tete لا تتغير ابدا (يعني الشرط دائما غير محقق)
كود PHP:
 if ( tete != null )
                  {
                      
aff_adr(p,q);
                  }
                else
                  {
                      
tete=q;
                  }
p=
ثالثا:
بعد الحلقةfor قمت بإعطاء القيمة null للمؤشر p (قيمة tete تحتوي علىnull )
كود PHP:
p=tete
وكنتيجة حتمية لن تعمل حلقة while لان الشرط غير محقق
----------------------------------------------
عذرا, حاليا لم استطع تنفذ الحل على الحاسوب لان لدي بعض مشاكل في الوينودز لم تسمح بتنفيذه.
أخي لقد صححت البرنامج كما هو الاقتباس لكن مازالت هناك بوكل انفيني
يعرض النتائج بتكراار لم أفهم ما السبب









قديم 2013-03-29, 15:30   رقم المشاركة : 7
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

هاهو البرنامج الجديد ارجو التصحيح









الملفات المرفقة
نوع الملف: txt new pragram.txt‏ (2.0 كيلوبايت, المشاهدات 4)

قديم 2013-03-29, 16:10   رقم المشاركة : 8
معلومات العضو
agm1991
عضو نشيط
 
إحصائية العضو










افتراضي

السلام عليكم ورحمة الله وبركاته
اليك تصحيح (تم تعديل كثير من الاوامر)
الحل يعمل بشكل جيد ,
تم انجازه بdevcpp 5.3.0.3

كود PHP:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
            
typedef  struct Maillon {
                             
int val;
                             
struct Maillon *suiv;
                           }
Maillon,*pMaillon;
            
void Allouer(pMaillon &P)
             {
                
P=  (pMaillonmallocsizeof(Maillon));
            };
                    
struct Maillon *Suivant struct Maillon *P)
                                    {
                                       return( 
P->suiv );
                                    };
         
void Aff_ValpMaillon &Pint v )
            {
               
P->val v;
            }
         
void Aff_AdrpMaillon &PpMaillon Q )
            {
               
P->suiv Q;
            }
         
int ValeurpMaillon P)
            {
               return (
P->val);
            }
main()
{



         
pMaillon p,q,Tete;
         
int i,Nombre_des_elements;
         
int val/* La valeur peut etre de type qlq : ici un entier */
         
Tete=NULL;
         
printf("Veuillez introduire le nombre des elements dans la liste ==>");
         
scanf("%d",&Nombre_des_elements);
         
Allouer(p);
         
printf("LA VALEUR DU MAILLON 1 est :");
         
scanf("%d",&val);
         
Aff_Val(p,val);
         
Aff_Adr(p,NULL);
         
Tete=p;
         for ( 
i=i<=Nombre_des_elements i++)
            {
                
printf("LA VALEUR DU MAILLON %d est :",i);
                
scanf("%d",&val);
                
Allouer(q);
                
Aff_Val(q,val);
                
Aff_Adr(q,NULL);
                
Aff_Adr(p,q);
                
p=q;
            }
          
p=Tete;
          
printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
          
printf("appuyez sur n'importe quelle touche pour continuer\n");
          
printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
          
getch();
          
i=1;
          while ( 
!= NULL )
            {
               
printf("la MAILLON NO = %d contien la Valeur %d\n",i,Valeur(p));
               
pSuivant(p);
               
i++;
            }
    
getch();

لي ملاحظات
الاولى: الدوال يتم كتابتها قبل الكلمة المحجوزة Main وليس داخلها(بالنسبة لي dev و باقي المترجمات الله اعلم)
الثانية:اعتقد انكم درستم passage par valeur et passage par adress ف الياسكال
المهم في السي نستخدم الرمز & لي passage par adress
الثالثة : استخدمت typedef لنختصر
struct Maillon الى Maillon
و
struct Maillon * الى pMaillon
السلام عليكم ورحمة الله وبركاته









قديم 2013-03-29, 17:55   رقم المشاركة : 9
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

السلام عليكم
أخي شكرا على الأخطاء التي نبهتني اليها
لكن انا ترجمت البرنامج بلغة السي حسب الخوارزمية التي اعطانا اياها الاستاذ أما برنامجك فلم يشتغل عندي بـــ codeblocks 10.05 ، وان لا اريد تغيير الخوارزمية لأنه طلب منا التقيد بذلك في العمل الموجه
هناك خطأ وحيد في برنامجي وهو كيفية عرض la liste والخطأيكمن في while فهو يعرض المحتوى لأخر maillon حسب عدد nombre des elements ولا يعرض محتوى جميع les maillons او بوكل انفيني اذا ما نزعت i
والله حيرني ....










قديم 2013-03-30, 11:57   رقم المشاركة : 10
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

السلام عليكم الرجاء المساعدة في القريب العاجل










قديم 2013-03-30, 14:32   رقم المشاركة : 11
معلومات العضو
agm1991
عضو نشيط
 
إحصائية العضو










افتراضي

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

كود PHP:
#include <stdio.h>
#include <stdlib.h>

int main()
{
        
/*typedef struct Maillon Maillon;*/
            
struct Maillon {
                             
int val;
                             
struct Maillon *suiv;
                           };
            
struct Maillon *Allouer() {
                                         return ((
struct Maillon *) mallocsizeof(struct Maillon)));
                                      };
            
struct Maillon *Suivant struct Maillon *p)
                                    {
                                       return( 
p->suiv );
                                    };
         
void Aff_Valstruct Maillon *pint v )
            {
               
p->val v;
            }
         
void Aff_Adrstruct Maillon *pstruct Maillon *)
            {
               
p->suiv q;
            }
         
int Valeurstruct Maillon *p)
            {
               return (
p->val);
            }
         
struct Maillon *p;
         
struct Maillon *q;
         
struct Maillon *Tete;
         
int i,Nombre_des_elements;
         
int val/* La valeur peut etre de type qlq : ici un entier */
         
Tete=NULL;
         
p=NULL;
         
printf("Veuillez introduire le nombre des elements dans la liste ==>");
         
scanf("%d",&Nombre_des_elements);
         for ( 
i=i<=Nombre_des_elements i++)
            {
                
printf("LA VALEUR DU MAILLON %d est :",i);
                
scanf("%d",&val);
                
q=Allouer();
                
Aff_Val(q,val);
                
Aff_Adr(q,NULL);
                if ( 
Tete != NULL )
                  {
                      
Aff_Adr(p,q);
                  }
                else
                  {
                      
Tete=q;
                  }
                
p=q;
            }
          
p=Tete;
          
i=0;
          while ( (
!= NULL) && (i<Nombre_des_elements) )
            {
               
printf("%d\n",Valeur(p));
               
pSuivant(p);
               
i++;
            }
          return 
0;

تم تغيير
كود PHP:
 Allouer(q); 
الى
كود PHP:
 q=Allouer(); 
لانك allouer في برنامجك كتبتها على شكل دالة لديها قيمة مرجعة وليست procedure
---------------------









قديم 2013-03-30, 18:04   رقم المشاركة : 12
معلومات العضو
yalova
عضو مميّز
 
الصورة الرمزية yalova
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة agm1991 مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاته
كود PHP:
#include <stdio.h>
#include <stdlib.h>

int main()
{
        
/*typedef struct Maillon Maillon;*/
            
struct Maillon {
                             
int val;
                             
struct Maillon *suiv;
                           };
            
struct Maillon *Allouer() {
                                         return ((
struct Maillon *) mallocsizeof(struct Maillon)));
                                      };
            
struct Maillon *Suivant struct Maillon *p)
                                    {
                                       return( 
p->suiv );
                                    };
         
void Aff_Valstruct Maillon *pint v )
            {
               
p->val v;
            }
         
void Aff_Adrstruct Maillon *pstruct Maillon *)
            {
               
p->suiv q;
            }
         
int Valeurstruct Maillon *p)
            {
               return (
p->val);
            }
         
struct Maillon *p;
         
struct Maillon *q;
         
struct Maillon *Tete;
         
int i,Nombre_des_elements;
         
int val/* La valeur peut etre de type qlq : ici un entier */
         
Tete=NULL;
         
p=NULL;
         
printf("Veuillez introduire le nombre des elements dans la liste ==>");
         
scanf("%d",&Nombre_des_elements);
         for ( 
i=i<=Nombre_des_elements i++)
            {
                
printf("LA VALEUR DU MAILLON %d est :",i);
                
scanf("%d",&val);
                
q=Allouer();
                
Aff_Val(q,val);
                
Aff_Adr(q,NULL);
                if ( 
Tete != NULL )
                  {
                      
Aff_Adr(p,q);
                  }
                else
                  {
                      
Tete=q;
                  }
                
p=q;
            }
          
p=Tete;
          
i=0;
          while ( (
!= NULL) && (i<Nombre_des_elements) )
            {
               
printf("%d\n",Valeur(p));
               
pSuivant(p);
               
i++;
            }
          return 
0;

تم تغيير
كود PHP:
 Allouer(q); 
الى
كود PHP:
 q=Allouer(); 
لانك allouer في برنامجك كتبتها على شكل دالة لديها قيمة مرجعة وليست procedure
---------------------
نعم أخي لقد انتبهت الى الخطأ وقد اشتغل البرنامج بارك الله فيك وجعلها في ميزان حسناتك









 

الكلمات الدلالية (Tags)
البرنامج, الخطأ, الرجال, تفسير


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

الساعة الآن 10:56

المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية


2006-2024 © www.djelfa.info جميع الحقوق محفوظة - الجلفة إنفو (خ. ب. س)

Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc