langage C

الموضوع في 'أرشيف المنتدى التعليمي' بواسطة bacinfo, بتاريخ ‏7 مارس 2009.

  1. bacinfo

    bacinfo عضو جديد

    إنضم إلينا في:
    ‏13 فيفري 2008
    المشاركات:
    13
    الإعجابات المتلقاة:
    2
      07-03-2009 18:47
    aidez moi dans ce programme sur la liste chanée permet de cree ,triée,suprmée et affichage



    *******************
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>



    struct enr

    {
    int a;
    struct enr *suiv;
    struct enr *prec;
    ** ;


    typedef struct enr *liste;



    void init (void)
    {
    liste t;
    t= NULL;
    **



    liste creation (liste t,int x)
    {

    liste p,par;
    p=(liste)malloc(sizeof(struct enr));

    p->a=x;
    p->suiv=NULL;

    if (t==NULL)
    {
    p->prec=NULL;
    return(p);
    **
    else
    {
    liste par;
    par=t;
    while(par->suiv!=NULL)
    {
    par=par->suiv;
    **
    par->suiv=p;
    p->prec=par;
    return(t);
    **
    **



    liste saisie(liste t)
    {
    int i,b;

    for (i=0;i<4;i++)
    {
    printf("enterr la case n°%d\n",i);
    scanf("%d",&b);
    t=creation(t,b);
    **
    return(t);
    **

    void permut (int a,int b)
    {
    int aux;
    aux=a;
    a=b;
    b=aux;
    **


    liste trie (liste t)
    {
    liste par=t;
    int echan=0;

    do
    {
    printf("%d",par->a );
    printf("%d",par->suiv->a );
    while (par!=NULL)
    {
    if (par->a > par->suiv->a)
    {

    permut(par->a,par->suiv->a);
    printf("%d",par->a );
    printf("%d",par->suiv->a );
    getch();

    echan=1;
    **
    par=par->suiv;
    **
    **
    while(echan==1);
    t=par;
    printf("la liste est triee");
    return(t);
    **




    void affiche (liste t)
    {
    liste pas;
    pas=t;
    while (pas!=NULL)

    {

    printf("%d",pas->a);
    pas=pas->suiv;
    **
    printf("\n");
    **


    liste supp (liste t,int y)
    {
    liste k,pad=t;

    if (pad->a==y)
    {
    k=pad;
    pad=pad->suiv;
    free(k);
    return(t);
    **
    else
    {
    while (pad->suiv->a!=y && pad->suiv!=NULL)
    pad->suiv++;

    if (pad->suiv->a==y)
    {
    k=pad->suiv;
    pad->suiv=k->suiv;
    free(k);
    **

    if(pad->suiv->a==y && pad->suiv==NULL)
    {
    k=pad->suiv;
    pad->suiv=NULL;
    free(k);
    **
    return(t);
    **
    **


    void choix(int *c)
    {
    printf("1:saisie la liste\n");
    printf("2:trie liste\n");
    printf("3:suprime liste\n");
    printf("4:affiche\n");
    printf("entrer votre choix ");
    scanf(" %d",c);
    **;



    void main()
    {

    int c,b;
    liste t;
    init();
    choix(&c);
    switch(c)
    {

    case 1:
    {
    t=saisie(t);
    choix(&c);
    **

    case 2:
    {
    t=trie(t);
    choix(&c);
    **

    case 3:
    {
    scanf("%d",&b);
    t=supp(t,b);
    choix(&c);
    **

    case 4:
    {
    affiche(t);
    choix(&c);
    **

    **





    getch();
    **
     
  2. Sniper-Hackers

    Sniper-Hackers عضو

    إنضم إلينا في:
    ‏17 ديسمبر 2008
    المشاركات:
    781
    الإعجابات المتلقاة:
    1.563

مشاركة هذه الصفحة

جاري تحميل الصفحة...