![]() |
|
منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل... |
في حال وجود أي مواضيع أو ردود
مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة
( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
![]() |
|
أدوات الموضوع | انواع عرض الموضوع |
![]() |
رقم المشاركة : 1 | ||||
|
![]() السلام عليكم اهل المنتدى لدي مشكل و ارجو المساعدة كود:
#include<stdio.h> #include <stdlib.h> struct element { int pri; char val; struct element *suiv; }; typedef struct element *filed; /* Création d'un nouvel élément */ void creation(filed *e,int pri, char val) { *e=(filed)malloc(sizeof(filed)) ; filed t=*e; t->pri=pri; t->val=val; t->suiv=NULL; } /*afficher dune filed*/ void afficher(filed l) { filed q; q=l; while(q!=NULL) { printf("Priorite:> %d",q->pri); printf("Valeur => %c",q->val); q=q->suiv; } } /*insert en queu */ void emfiler(filed *l,int pe,char ve) { filed e,q; creation(&e,pe,ve); if (*l==NULL) *l=e; else { q=*l; while(q->suiv!=NULL) q=q->suiv; q->suiv=e; } } /*supression de la tete*/ void defiler(filed *l,int *pd,char *vd) { filed q,p; q=*l; p=*l; p=p->suiv; q->suiv=NULL; *pd=q->pri; *vd=q->val; free(q); } /*insertion en tete*/ void empiler(filed *l,int pe,char ve) { filed e,q; creation(&e,pe,ve); if (l=NULL) *l=e; else { e->suiv=*l; *l=e; } } /*suppression de la tete*/ void depiler(filed *l,int *pd,char *vd) { filed q,p; q=*l; p=*l; p=p->suiv; q->suiv=NULL; *pd=q->pri; *vd=q->val; free(q); } /*max pri*/ void maxpri(filed l,int *pm,char *vm) { filed q,x; q=l; x=l; while(q!=NULL) { if((q->pri)>(x->pri)) x=q; q=q->suiv; } *pm=x->pri; *vm=x->val; } /*defiler par priorite*/ void defilerpri(filed *l,int *pd,char *vd) { filed q,ls,t,p,r; char vs; int ps; ls=NULL; p=*l; maxpri(*l,pd,vd); while((p->pri!=*pd)&&(p->val!=*vd)) { defiler(l,&ps,&vs); empiler(&ls,ps,vs); r=*l; } if((r->val=vd)&&(r->pri=pd)) defiler(l,pd,vd); if (ls!=NULL){ do { depiler(ls,ps,vs); empiler(l,ps,vs);} while(ls!=NULL); } } int main() { /*declaration des types et viables*/ filed l,lp; char choix; int prio,dp; char vale,dv; /*programme principal*/ l=NULL; lp=NULL; choix='y'; printf(">L ELEMENT LE PLUS PRIORITAIRE EST CELUI QUI A LA PRIORITE LA PLUS SUPERIEUR<\n"); printf("\n"); while(choix!='n') { printf("Entrer la valeur(un caractere):\n"); scanf("%c",&vale); printf("Entrer la priorite(un entier):\n"); scanf("%d",&prio); emfiler(&l,prio,vale); printf("Voulez vous ajoutez un element? (y/n)\n"); scanf("%c",&choix); } printf("\n"); printf("LA FILE DES ELEMENTS CREE\n"); afficher(l); printf("\n"); printf("LA FILE DES ELEMENTS AVEC LA PRIORITE CROISSANTE\n"); do{ defilerpri(l,dp,dv); empiler(lp,dp,dv); }while(l!=NULL); afficher(lp); getchar(); }
|
||||
![]() |
![]() |
رقم المشاركة : 2 | |||
|
![]() ولا رد ؟ ,,,,,,,,,,, |
|||
![]() |
![]() |
رقم المشاركة : 3 | |||
|
![]() ما هي المشكلة
اذا كانت في الكومبيلاسيو، لقد جربته و هناك بعض الوورنين فقط من الافضل، في المرات القادمة عندما تكتب كود، عدله ليسهل فهمه بالنسبة لك و لغيرك كود:
#include<stdio.h> #include <stdlib.h> struct element { int pri; char val; struct element *suiv; }; typedef struct element *filed; /* Création d'un nouvel élément */ void creation(filed *e,int pri, char val) { *e=(filed)malloc(sizeof(filed)) ; filed t=*e; t->pri=pri; t->val=val; t->suiv=NULL; } /*afficher dune filed*/ void afficher(filed l) { filed q; q=l; while(q!=NULL) { printf("Priorite:> %d",q->pri); printf("Valeur => %c",q->val); q=q->suiv; } } /*insert en queu */ void emfiler(filed *l,int pe,char ve) { filed e,q; creation(&e,pe,ve); if (*l==NULL) *l=e; else { q=*l; while(q->suiv!=NULL) q=q->suiv; q->suiv=e; } } /*supression de la tete*/ void defiler(filed *l,int *pd,char *vd) { filed q,p; q=*l; p=*l; p=p->suiv; q->suiv=NULL; *pd=q->pri; *vd=q->val; free(q); } /*insertion en tete*/ void empiler(filed *l,int pe,char ve) { filed e,q; creation(&e,pe,ve); if (l=NULL) *l=e; else { e->suiv=*l; *l=e; } } /*suppression de la tete*/ void depiler(filed *l,int *pd,char *vd) { filed q,p; q=*l; p=*l; p=p->suiv; q->suiv=NULL; *pd=q->pri; *vd=q->val; free(q); } /*max pri*/ void maxpri(filed l,int *pm,char *vm) { filed q,x; q=l; x=l; while(q!=NULL) { if((q->pri)>(x->pri)) x=q; q=q->suiv; } *pm=x->pri; *vm=x->val; } /*defiler par priorite*/ void defilerpri(filed *l,int *pd,char *vd) { filed q,ls,t,p,r; char vs; int ps; ls=NULL; p=*l; maxpri(*l,pd,vd); while((p->pri!=*pd)&&(p->val!=*vd)) { defiler(l,&ps,&vs); empiler(&ls,ps,vs); r=*l; } if((r->val=vd)&&(r->pri=pd)) defiler(l,pd,vd); if (ls!=NULL) { do { depiler(ls,ps,vs); empiler(l,ps,vs); }while(ls!=NULL); } } int main() { /*declaration des types et viables*/ filed l,lp; char choix; int prio,dp; char vale,dv; /*programme principal*/ l=NULL; lp=NULL; choix='y'; printf(">L ELEMENT LE PLUS PRIORITAIRE EST CELUI QUI A LA PRIORITE LA PLUS SUPERIEUR<\n"); printf("\n"); while(choix!='n') { printf("Entrer la valeur(un caractere):\n"); scanf("%c",&vale); printf("Entrer la priorite(un entier):\n"); scanf("%d",&prio); emfiler(&l,prio,vale); printf("Voulez vous ajoutez un element? (y/n)\n"); scanf("%c",&choix); } printf("\n"); printf("LA FILE DES ELEMENTS CREE\n"); afficher(l); printf("\n"); printf("LA FILE DES ELEMENTS AVEC LA PRIORITE CROISSANTE\n"); do{ defilerpri(l,dp,dv); empiler(lp,dp,dv); }while(l!=NULL); afficher(lp); getchar(); } |
|||
![]() |
![]() |
الكلمات الدلالية (Tags) |
للمبرمجين, الزي, بلغة |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc