1. 1.
    +1
    valla pampi şuan gibsen o kodu inceleyemem.ama sana eskiden yazdığım bi kodu gönderiyorum. bubble sort yöntemiyle yapmıştım senin yapmak istediğin sıralamayı. youtubeta falan bubble sortun mantığıyla ilgili büssürü video var bi göz at derim. kodların yanındaki notlarda mantığı anlamana yardımcı olabilir.ha bu arada bilmiyorum kod doğru mu çalışıyo bi bakarsın compile edip

    5. include <stdio.h>
    6. define MAX 5
    7. define TRUE=1
    8. define FALSE=0

    int main( void )
    {
    int arr[MAX]={2,8,5,24,11}; /*input - integer array*/
    int n=MAX; /* number of actual elements of the array */
    int pass = 1; /* number of current pass */
    int temp; /* temporary variable used to swap values */
    int sorted; /* sorted flag: 0 = Not-sorted, 1 = Sorted. */
    int j; /* subscript to be used in one pass */

    do
    {
    sorted = 'TRUE'; /* assumes array is sorted */
    /* perform one pass to exchange unsorted elements */
    for (j = 0; j < n - pass; j++)
    {
    if (arr[j] > arr[j+1])
    {
    /* items are not in order, therefore swap them */
    temp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;
    sorted = 0; /* sets the flag to indicate that the array is not sorted */
    }
    }

    pass++; /* increment the pss number */
    } while (!sorted);

    for(j=0;j<MAX;j++) /*display*/
    printf("%d n",arr[j]);

    return(0);
    }
    ···
  2. 2.
    0
    basit bir sıralama kodu yazayım dedim öğlesine , ama kod bana kafayı yedirtcek
    bi hata var ama göremiyorum

    olusturdugum dizi fonksiyona gidince 2.elemanı 2degerini alıyor , nedenini bir türlü anlıyamıyorum

    atıyorum sayılar
    5 7 99 73 8 ise

    fonksiyona gönderince geri gelen hali

    5 2 7 8 73 oluyor

    kodlar

    9. include<stdio.h>
    10. include<conio.h>
    11. include<time.h>
    12. include<stdlib.h>
    void sirala(int diz[],int s)
    {
    int k,l;
    int gecici;
    for(k=1;k<s;k++)
    for(l=0;l<s;l++){
    if(diz[l]>diz[l+1]){ // 5 4 9 7 // 4 5 9 7
    gecici=diz[l];
    diz[l]=diz[l+1];
    diz[l+1]=gecici;
    }
    }
    }

    main()
    {
    int dizi[7];
    srand(time(NULL));
    int i;
    for(i=0;i<7;i++)
    {
    dizi[i]=(rand()%100);
    printf("%d ",dizi[i]);
    }
    printf("nnSiralanmis Halin");
    sirala(dizi,7);
    for(i=0;i<7;i++)
    printf("%d ",dizi[i]);
    getch();

    }
    ···
  3. 3.
    0
    @25 k'yı tabii ki kullanacak dizi üzerinde 2 defa dönmesi gerekiyor.
    ···
  4. 4.
    0
    @25 panpa 2tane for döngüsü lazım bu sıralama için

    ilk tur en büyügü sona atıyo
    sonra 2.büyügü bi arkadasına atıyo
    ···
  5. 5.
    0
    fonksiyonunu şöyle değiştir bakalım

    void sirala(int diz[],int s){
    int k,l;
    int gecici;

    for(k=0;k<s-1;k++){
    for(l=1;l<s;l++){
    if(diz[k]>diz[l]){ // 5 4 9 7 // 4 5 9 7
    gecici=diz[l];
    diz[l]=diz[k];
    diz[k]=gecici;
    }
    }
    }
    }

    for döngülerinde hiç k'yı kullanmamışsın. o dikkatimi çekti. bu şekilde düzelttim bi bak hele.
    ···
  6. 6.
    0
    k yi neden kullandin anlamadim sil o satiri
    ···
  7. 7.
    0
    for(k=0;k<s-1;k++)

    bunu dene amk
    ···
  8. 8.
    0
    @22 (:
    ···
  9. 9.
    0
    gecici yerine temp yaz panpa
    ···
  10. 10.
    0
    @26 doğru söylüyor lan manyak mısın k ve l olarak döngüde ilerlemen lazım. l ve l+1 saçma olur.
    ···
  11. 11.
    0
    @26 panpa o kod hiç sıralamadı
    ···
  12. 12.
    0
    panpa algoritma bu
    http://tr.wikipedia.org/w...%B1k_s%C4%B1ralamas%C4%B1
    2 li karsılastırma yapıyor
    ···
  13. 13.
    0
    for(k=0;i<s;k++)

    {

    for(l=0;l<s-1;l++)

    {
    if(dizi[l]>dizi[l+1])
    {
    gecici=dizi[l];
    dizi[l]=dizi[l+1];
    dizi[l+1]=gecici;
    }
    }
    }
    ···
  14. 14.
    0
    @27 @28 ben soruyumu yanils anladim acaba. anladigim 0 99 arasi 7 sayi belirleneck bunlar diziye atanacak sonra kucukten buyuge siralanip ekrana bastirilacak. eger buysa k satirini gereksiz. gerekli desende kullanmamissin zaten.
    ···
  15. 15.
    0
    ya pc basinda olsam direk yazardim ama mobildeyim :(
    ···
  16. 16.
    0
    @33 k satırını atarsam max 2sayiyi sıralar
    ···
  17. 17.
    0
    @32 oldu panpa
    ···
  18. 18.
    0
    dizi[l]=dizi[l+1];

    yerine

    dizi[l];
    l=l+1;
    dizi[l]; dene
    ···
  19. 19.
    0
    upppppppppppp
    ···
  20. 20.
    0
    lan derleyici olsa şu makinede çözücem sorunu da bu pcde bir tak yok:(
    ···