C'de Do-while ile Girilen Sayıları Küçükten Büyüğe Sıralama

furkansaridiken

Kilopat
Katılım
25 Mayıs 2017
Mesajlar
139
Daha fazla  
Cinsiyet
Erkek
Merhaba. Do-while ile girilen sayıları küçükten büyüğe sıralamam gerekiyor. Kodu yazdım ancak çalıştırdığımda gelen ekran sadece siyah ve imleç yanıp sönen bir ekran. Kodun yanlış yerini göremedim. Yardımcı olabilecek var mı?

C:
#include<stdio.h>

int main()
{
    int i,k,j,m,n;
    int size;
    int arr[size];
    int temp=0;
  
    printf("How many numbers do you want in your array?\n");
    scanf("%d",&size);
    i=0;
    do
    {
        printf("Enter your %d. number of array.\n",i+1);
        scanf("%d",&arr[i]);
        i++;
    }
    while(i<=size-1);
   
    printf("Your original array:\n");
    k=0;
    do
    {
        printf("%d ",arr[k]);
        k++;
    }
    while(k<=size-1);
    printf("\n");
    j=1;
    do
    {
        m=(size-1);
        do
        {
            if(arr[m-1]>arr[m])
            {
                temp=arr[m];
                arr[m-1]=arr[m];
                arr[m-1]=temp;
            }
            m--;
        }
        while(m>=j);
        j++;
    }
    while(j<=size);
   
    printf("Sorted version of your array:\n");
    n=0;
    do
    {
        printf("%d ",arr[n]);
        n++;
    }
    while(n<=size-1);
    printf("\n");
}
 
Son düzenleme:
O zaman for kullan. For döngüsünü okuyunca nereden nereye çalışacağını anlayabiliyorsun. Do-while'a bakınca ise do görüyorsun. O kadar.
İlk satıra int arr[1024] de. Sonra boyut isteyip döngülerde o boyuta kadar gez. Fonksiyonları da çağrıldıkları yerlerde kopyala yapıştır yap.
do-while dışında yapamam. Anlatamadım sanırım. Bu bir ödev ve do-while kullanarak yapmam isteniyor.

Son olarak çıktı ekteki gibi. Halen bir yanlışım var ama çözemiyorum.
 

Dosya Ekleri

  • Screenshot_1.png
    Screenshot_1.png
    17,1 KB · Görüntüleme: 24

Yeni konular

Geri
Yukarı