Programalama > C++

#include <stdio.h>
#include <stdlib.h>
#define adet 52
 /* En doğru sonuç için ***|* DEV C++ ta derlemenizi*|
 \*öneririm.**cenkaktas**/

typedef struct YAPI{
    struct YAPI *onceki,*sonraki;
    int sayi;
    char deger;
}yapi;
typedef struct DIZI{
    yapi *ilk,*son;
}dizi;
dizi sirali,rastgele;
int main(int argc,char *argv[]){
    srand(time(NULL));
    int i=0,j;
    yapi *isaretci=NULL;
    sifirla(&sirali);sifirla(&rastgele);
    do{
        i++;
        yapi *yeni;
        yeni=(yapi *) malloc(sizeof(yapi));
        ata(yeni);
        ekle(&sirali,yeni);
    }while(i<=adet);

    for(i=0;i<adet;i++){
        isaretci=sirali.ilk;
        j=((int)rand())%(adet-i);
        for(;j>0;j--)
            {
                isaretci=isaretci->sonraki;
            } 
        sil(&sirali,isaretci); 
        ekle(&rastgele,isaretci);
    }
    goster(rastgele);
    getch();
}
ata(yapi *a){
    static int i=0;
    a->deger=(int)(i/13)+3;
    a->sayi=i%13+1;i++;
}    
ekle(dizi *kok,yapi *a){
    if(!kok->ilk){
        kok->ilk=a;
        kok->son=a;
        a->onceki=NULL;
        a->sonraki=NULL;
    }
    else{
        kok->son->sonraki=a;
        a->onceki=kok->son;
        a->sonraki=NULL;
        kok->son=a;
    }
}
sifirla(dizi *kok){
    kok->ilk=kok->son=NULL;
}    
goster(dizi kok){
    yapi *isaretci=kok.ilk;
    while(isaretci){
        printf("%c%d\n",isaretci->deger,isaretci->sayi);
        isaretci=isaretci->sonraki;
    };
}
sil(dizi *kok, yapi *a){
    if(a->onceki && a->sonraki){
        a->onceki->sonraki=a->sonraki;
        a->sonraki->onceki=a->onceki;
    } else if(!a->onceki && !a->sonraki){
        kok->ilk=kok->son=NULL;
    }else if(!a->onceki){
        kok->ilk=a->sonraki;
        a->sonraki->onceki=NULL;
    } else if(!a->sonraki){
        a->onceki->sonraki=NULL;
        kok->son=a->onceki->sonraki;
    }
}


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.