Bulunan 1 den 7 - Toplam 7
Girilen 3 sayıyı büyükten küçüğü sıralama - - Programlama - Ceviz Forum
  1. #1
    Ceviz Üyesi
    Üyelik Tarihi
    08-Ekim-2011
    Mesaj
    3

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

    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. #2
    Ceviz Üyesi Slothere Üyenin Avatarı
    Üyelik Tarihi
    24-Nisan-2010
    Mesaj
    810

    Varsayılan

    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.
    "Başkalarının bilgisi ile bilgin olsak bile ancak kendi aklımızla akıllı olabiliriz. ." - Montaigne

  3. #3
    Ceviz Üyesi
    Üyelik Tarihi
    08-Ekim-2011
    Mesaj
    3

    Varsayılan

    Ö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. #4
    Ceviz Üyesi
    Üyelik Tarihi
    03-Ekim-2011
    Nereden
    İzmir
    Mesaj
    62

    Varsayılan

    Benim gönderdiğim kodda esitlik durumunda bir sorun olmaması gerekiyo.

  5. #5
    Ceviz Üyesi
    Üyelik Tarihi
    08-Ekim-2011
    Mesaj
    3

    Varsayılan

    Teşekkürler scorpion35.

  6. #6
    Ceviz Üyesi
    Üyelik Tarihi
    03-Ekim-2010
    Mesaj
    384

    Varsayılan

    Bunu programı yazmanızın anlamı sıralama algoritmalarını öğrenmenizdir. Size tavsiyem yukarıda anlatılan yöntem problemi çözmüş olsa bile diğer yöntemlere de bakmanızdır. Bu sitedekileri inceleyebilirsiniz.
    http://www.bilgisayarkavramlari.com/...ng-algorithms/

  7. #7
    Ceviz Üyesi uyumsuz Üyenin Avatarı
    Üyelik Tarihi
    15-Haziran-2011
    Nereden
    Bolu
    Mesaj
    26

    Varsayılan

    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;
    }

Konu Bilgileri

Bu Konuya Gözatan Kullanıcılar

Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)

Benzer Konular

  1. Dosya İsimleri Sıralama...
    PHP forum içinde, yazan Elik
    Cevap: 8
    Son Mesaj: 30-Eylül-2002, 18:39
  2. formda girilen değer bir mailmi ?
    Web Tasarım forum içinde, yazan eslem1
    Cevap: 19
    Son Mesaj: 09-Eylül-2002, 15:04
  3. forma girilen verinin sayısal rakam olmasının kontrolü
    Web Tasarım forum içinde, yazan sokrates
    Cevap: 1
    Son Mesaj: 17-Ağustos-2002, 18:45

Yer İmleri

Mesaj Yetkileriniz

  • Yeni konu açmaya yetkiniz yok
  • Cevap yazmaya yetkiniz yok
  • Eklenti yüklemeye yetkiniz yok
  • Mesajınızı düzeltmeye yetkiniz yok
  •