Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Girilen 3 sayıyı büyükten küçüğü sıralama

Konu, 'C / C++' kısmında yasarr tarafından paylaşıldı.

  1. yasarr

    yasarr Yeni Üye

    Kayıt:
    8 Ekim 2011
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Merhaba arkadaşlar. Girilen 3 sayıyı büyükten küçüğe ve eşitlik varsa belirten programın C kodu lazım. If kodu ile yapama çalıştık ama olmadı. Yardımlarınza ihtiyacım var. Program şöyle olacak. Mesela dışardan 3, 7, 1 girililrse sonuç olarak 1<3<7 şeklinde yazacak. Ya da dışardan 8, 4, 8 girilirse 4<8=8 şeklinde yazacak. Yarına kadar kodları bulmam gerek. Şimdiden teşekkürler.
     
  2. Slothere

    Slothere Daimi Üye

    Kayıt:
    24 Nisan 2010
    Mesajlar:
    813
    Beğenilen Mesajlar:
    0
    Normal şartlarda ödev çözülmüyor burada. Algoritma sorusu olduğunu tahmin ederek algoritmasını aydınlatmak adına yardımcı olabilirim.

    Öncelikle en büyük sayıyı bulmayı bilmen gerekiyor. Sırayla en büyükleri bulup bu elde ettiğin sayıları kaydettireceksin. En son sayıyı bulduğunda da zaten istediğin gibi büyükten küçüğe kadar sıralama yapmış olacaksın.

    En büyük sayıyı bulmak için yapman gereken sayıları birbirleri ile karşılaştırman. Mesela s1 s2 s3 diye sayıların olsun kontrol yapın şöyle olmalı;

    eğer => (s1 > s3) ve (s1 > s2) : en büyük sayı s1 olur.
    eğer => (s2 > s1) ve (s2 > s3) : en büyük sayı s2 olur.
    eğer => (s3 > s1) ve (s3 > s2) : en büyük sayı s3 olur.

    Yani kısacası bir sayının en büyük olabilmesi için diğer tüm sayılardan büyük olabilmesi gerekir.

    Daha farklı yöntemleride mevcut fakat bunun en temel algoritması bu şekilde. Eğer bu algoritmayı döngü haline getirirsen, tek tek çok sayıda sorgu yapmanda gerekmez.
     
  3. yasarr

    yasarr Yeni Üye

    Kayıt:
    8 Ekim 2011
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Öncelikle cevap verdiğin için teşekkür ederim. Aslında if-else ile yaptım çalışıyor fakat eşitlik durumunu yapamadım. Büyüklük, küçüklük durumda sıkıntı olmuyor ama eşitlik durumunu belirtemiyorum. Bu konuda yardıma ihtiyacım var.
     
  4. scorpion35

    scorpion35 Üye

    Kayıt:
    3 Ekim 2011
    Mesajlar:
    62
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayar Mühendisi
    Şehir:
    İzmir
    Benim gönderdiğim kodda esitlik durumunda bir sorun olmaması gerekiyo.
     
  5. yasarr

    yasarr Yeni Üye

    Kayıt:
    8 Ekim 2011
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Teşekkürler scorpion35.
     
  6. fyodor

    fyodor Aktif Üye

    Kayıt:
    3 Ekim 2010
    Mesajlar:
    384
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayar Mühendisliği(öğrenci)
  7. uyumsuz

    uyumsuz Üye

    Kayıt:
    15 Haziran 2011
    Mesajlar:
    26
    Beğenilen Mesajlar:
    0
    Şehir:
    Bolu
    aradığın kod bu denedim bütün koşulları sağlıyor

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


    int main(int argc, char *argv[])
    {
    int a,b,c;
    printf("ilk sayiyi gir: ");
    scanf("%d",&a);
    printf("ikinci sayiyi gir: ");
    scanf("%d",&b);
    printf("ucuncu sayiyi gir: ");
    scanf("%d",&c);
    if (a>b && a>c)
    {
    if (b>c)
    printf("%d>%d>%d",a,b,c);
    else if (c>b)
    printf("%d>%d>%d",a,c,b);
    else
    printf("%d > %d",a,b);
    }
    else if (b>a && b>c)
    {
    if (a>c)
    printf("%d > %d > %d",b,a,c);
    else if (c>a)
    printf("%d>%d>%d",b,c,a);
    else
    printf("%d > %d",b,c);
    }
    else if (c>b && c>a)
    {
    if (b>a)
    printf("%d>%d>%d",c,b,a);
    else if(a<b)
    printf("%d > %d",c,b);
    else
    printf("%d>%d",c,a);
    }
    if (a==b && a<c)
    printf(" ve %d = %d",a,b);
    if (c==a && c<b)
    printf(" ve %d = %d",a,c);
    if (b==c && b<a)
    printf(" ve %d = %d",b,c);
    if (a>b && a==c)
    printf("%d > %d ve %d = %d",a,b,a,c);
    if (b>a && b==c)
    printf("%d > %d ve %d = %d",b,a,b,c);
    if (a>c && a==b)
    printf("%d > %d ve %d = %d",a,c,b,a);
    if (a==b && b==c )
    printf("%d = %d = %d",a,b,c);
    system("PAUSE");
    return 0;
    }