Şimdi Ara

[ÇÖZÜLDÜ]Ödevimi Tamamlamak Üzereyim Küçük Bi yardım Gerekiyor (Simple C)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
11
Cevap
0
Favori
223
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Ödevimde yapmaya çalıştığım bir bisiklet yarışı için genel klasmanı belirleyen bi yazılım üretmek
    Yazılımda her şey gayet açık ve yorumlarla anlatılmış biçimde
    Fakat çalıştırdığımda sıralam fonksiyonum hata veriyor.
    Ödevin teslimine bi hafta süre var, yardımlarınızı bekliyorum

    Kodu başka bi yerden görüntülemek için >>>>http://pastie.org/10902095


     
    #include <stdio.h>
    void siralama(int [][2], int); //Sıralama yapmak icin olusturdugum fonksiyon
    //Lab derslerinde uygulamasını baska bi kodda yapmıştım kendim
    int main()
    {
    int yariscisayisi, etapsayisi, i, j, k; //Değişkenlerin isimleri gayet açık

    printf("Bu kod bir bisiklet yarisindaki yarismacilari siralar.\n"); //Programa dair açıklamalar
    printf("Bilindigi uzere bisiklet yarisinda birden fazla etap olur.\n");
    printf("Her sporcunun etap basina bitirme sureleri toplanarak sporcuya ait toplam sure olusturulur.\n");
    printf("Yarisma sonucunda genel klasmanda en dusuk sureye sahip yarisici yarisin galibi olur.\n"); //Açıklamaların bittiği yer

    printf("Simdi lutfen yarisan bisikletci sayisini giriniz: \n"); scanf(" %d", &yariscisayisi); //Yarışcı sayısını belirleme
    printf("Sirada ise yarista gecilmesi gereken toplam etap sayisini giriniz: \n"); scanf("%d", &etapsayisi); //Etap sayısını belirleme

    int numara_sure[yariscisayisi][etapsayisi+1]; //İsimlerin ve sürelerin eşlendiği dizi
    //Her sporcu içi bir satır. Her satırda birinci sütun sporcu numarası
    //Diğer sütunla sırası ile etap süreleri

    int suretoplam[yariscisayisi][2]; //Süre toplamlarının hesaplandığı dizi
    //Süre toplamı matrisinin ikinci sütunu sürelere,
    //birinci sütunu ise sırt numaralarına ayrılmış durumda.
    for(i=1; i<=yariscisayisi; i++)
    { suretoplam[i-1][1]=0;} //Başta toplamlar sıfıra eşitlenir.

    for(k=1; k<=yariscisayisi; k++) //Sporcu sirt numaralarının alındığı bölüm
    { printf("%d. sporcunun sirt numarasini giriniz: ", k); scanf("%d", &numara_sure[k-1][0]);
    suretoplam[k-1][0] = numara_sure[k-1][0]; }



    printf("Gerekli bilgiler alindigina gore sira sureleri almaya geldi.\n"); //Uyarılar
    printf("Lutfen sureleri toplam dakika olarak giriniz. \n"); //Uyarılar

    for(i=1; i<=etapsayisi; i++) //Her etap icin ayrı ayrı sure bilgilerinin alımı
    { printf("\n\n%d. ETAP SURE BILGILERI", i);
    for(j=1; j<=yariscisayisi; j++)
    { printf("\n\n%d sirt numrali sporcu icin sure >>> ", numara_sure[j-1][0]);
    scanf("%d", &numara_sure[j-1][i] ); //Her sporcu icin ayrı ayrı sure bilgileri alınıyor
    suretoplam[j-1][1]=suretoplam[j-1][1]+numara_sure[j-1][i]; //Her etapta sporcuya önceki süre toplamı ekleniyor.
    }

    }
    for(i=1; i<=yariscisayisi; i++) { printf("%d%d\n", suretoplam[i-1][1], suretoplam[i-1][0] );} //Sırayla süre toplmalarını görmek için kontrol kodu
    siralama(suretoplam, yariscisayisi); //Toplam süreleri büyüklük sıralamasına koyan fonksiyon
    printf("Su an verdiginiz bilgilere gore sureler siralandi.\n");
    printf("Sureler kucukten buyuge dogru genel klasman birincisi yukarıda olacak sekilde gorunecektir.\n\n");

    for(j=1; j<=yariscisayisi; j++) //Final sıralaması
    { printf("\n%d. olan %d numaralı sporcu suresi %d", j, suretoplam[j-1][0], suretoplam[j-1][1] ); }
    }
    void siralama(int m[][2], int n) //Süre toplamı matrisinin ikinci sütunu sürelere, birinci sütunu ise sırt numaralarına ayrılmış durumda.
    {
    int i, temp, j, tempnum;
    for(i=0; i<n; i++)
    {
    for(j=0; j<n; j++)
    {
    if(m[j+1][1]<m[j][1])
    {
    temp = m[j][1];
    m[j][1] = m[j + 1][1];
    m[j + 1][1] = temp;

    tempnum = m[j][0];
    m[j][0] =m[j + 1][0];
    m[j + 1][0] = tempnum;
    }

    }
    }
    }


    KODU DEV C++ PROGRAMINDA YAZDIM BİR DE SİZ ÇALIŞTIRIP BAKIN LÜTFEN



    < Bu mesaj bu kişi tarafından değiştirildi kültürlü cingen -- 12 Temmuz 2016; 15:45:32 >







  • Kodu buraya değilde kod yazılan sitelere copy paste yapıp buraya link ararsan daha iyi olur burada kimse bakmaz buna anlaşılmıyor çünkü

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Nicolai Tesla kullanıcısına yanıt
    Hocam hemen halleşiyorum. Teşekkür ederim uyarınız için
    Sizi de etiketleyeceğim düzelttiğimde, müsaadenizle

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • kültürlü cingen kullanıcısına yanıt
    Selamün Aleyküm;
    Ben kodu denedim lakin bir hata yok, askine doğru çalışıyor. Siz ne hatası aldınız? O hatayı buraya yazmalısınız.
  • Programmer_Kanguru P kullanıcısına yanıt
    Aleyküm selam. Öncelikle kodu denemeye zaman ayırdığınız için teşekkür ederim.
    Hatamız program çalıştırılıp sırt numaraları ve etap süreleri yazıldıktan sonra ortaya çıkıyor. Kod aşağıda bize bi sıralama bölümü gösteriyor ama bu bölümde sırt numaraları ve süreler birbirine girmiş durumda.
    Umarım anlatabilmişimdir
  • kültürlü cingen kullanıcısına yanıt
    Kodda ben sıkıntı göremedim, siz neyi kastediyorsunuz?
    Örnek bir çıktı şöyle: resim, resim_devamı.
  • Programmer_Kanguru P kullanıcısına yanıt
    Hocam gariptir ki aynı girdilerle aynı sonuçları alamıyoruz
    Gördüğünüz üzere resimde size ait sonuçlar ve aynı girdilerle bana ait sonuçlar var. Ama girdiler aynı olasına rağmen sonuçlar farklı

     [ÇÖZÜLDÜ]Ödevimi Tamamlamak Üzereyim Küçük Bi yardım Gerekiyor (Simple C)
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: Nicolai Tesla

    Kodu buraya değilde kod yazılan sitelere copy paste yapıp buraya link ararsan daha iyi olur burada kimse bakmaz buna anlaşılmıyor çünkü

    Hocam buyrun
    Yukarıda bi arkadaş kodda sıkıntı çıkmadığını söylüyor. Mümkünse siz de bakar mısınız?
    http://pastie.org/10902095
  • kültürlü cingen kullanıcısına yanıt
    http://www.tutorialspoint.com/compile_c_online.php
    Bu siteyi bir deneyin, bu da aynı şekilde bana sonuç verdi. Kullandığınız derleyici nedir (MinGW 4.9.2, Microsoft C++ Compiler ya da Embarcadero C++ Compiler olabilir)?



    < Bu mesaj bu kişi tarafından değiştirildi Programmer_Kanguru -- 8 Temmuz 2016; 23:01:17 >
  • sorun siralama fonksiyonunun ikinci for unda. j<n ifadesi for içindeki if j+1 inci indise baktığı için m[n][2] boyutlu bir dizide m[n][..] indisine ulaşmaya çalışıyor. oysa indis 0 dan n-1 e kadar değerler alabilir.

    ikinci fordaki j<n ifadesi j<n-1 yapılınca düzeliyor kod.
  • quote:

    Orijinalden alıntı: brk0001

    sorun siralama fonksiyonunun ikinci for unda. j<n ifadesi for içindeki if j+1 inci indise baktığı için m[n][2] boyutlu bir dizide m[n][..] indisine ulaşmaya çalışıyor. oysa indis 0 dan n-1 e kadar değerler alabilir.

    ikinci fordaki j<n ifadesi j<n-1 yapılınca düzeliyor kod.

    Hocam aynen dediğini uyguladım ve sorun çözüldü.
    Teşekkür ediyorum size elinize emeğinize sağlık.
    Allah razı olsun
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.