Şimdi Ara

C programlama Bir el atin şu codlara :))

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
895
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Şimdi ben kendi kendine c öğrenmeye çalışan bir insanoğluyum

    Ve çalıştığım kitap(Deitel c how to program) 2. konunun sonundaki bir alıştırmada takıldım.

    Bir soruda 3 farklı tam sayı girilmesi ve programın bu sayıların çarpımını ortalamasını en büyük: en küçük : sonucu vermesini istiyor.Ve sadece tek seçimli if i kullanmamızı istiyor else for veya başka bir döngü olmadan.Benim yazdığım kod sorunsuz çalışıyor:



    #include<stdio.h>

    int main()

    {
    int s1,s2,s3;

    printf("Lutfen 3 farli tam sayi giriniz.\n");
    printf("ilk sayiyi giriniz:");
    scanf("%d",&s1);
    printf("ikinci sayiyi giriniz:");
    scanf("%d",&s2);
    printf("Ucuncu sayiyi giriniz:");
    scanf("%d",&s3);

    printf("TOPLAM %d dir \n",s1+s2+s3);
    printf("Ortalama %d dir \n",(s1+s2+s3)/3);
    printf("Çarpım %d dir\n",s1*s2*s3);

    if(s1<s2)
    {if(s2<s3){
    printf("En küçük:%d dir\n",s1);
    printf("En büyük:%d dir\n",s3);
    }
    }

    if(s2<s1)
    {if(s1<s3)
    { printf("En küçük:%d dir\n",s2);
    printf("En büyük:%d dir\n",s3);
    }
    }

    if(s3<s1)
    {
    if(s1<s2){
    printf("En küçük:%d dir\n",s3);
    printf("En büyük:%d dir\n",s2);
    }
    }
    if(s3<s2)
    {
    if(s2<s1){
    printf("En küçük:%d dir\n",s3);
    printf("En büyük:%d dir\n",s1);
    }
    }
    if(s1<s3)
    {
    if(s3<s2){
    printf("En küçük:%d dir\n",s1);
    printf("En büyük:%d dir\n",s2);
    }
    }
    if(s2<s3)
    {
    if(s3<s1){
    printf("En küçük:%d dir\n",s2);
    printf("En büyük:%d dir\n",s1);
    }
    }
    return 0;

    }

    AMA BİR SORUN VAR :))

    Bir soru var ve 5 farklı tam sayılı versiyonunu istiyor Bu soruda 3! den 6 ihtimal var ama 5! =120 olduğu düşünülünce bu 120 ihtimali yazmak dehşet verici birşey.Acaba bu soruyuda 5 li verisyonunuda daha kısa nasıl yazabiliriz.(sadece if kullanıcaz)



    < Bu mesaj bu kişi tarafından değiştirildi SaHaF34 -- 4 Temmuz 2009; 13:39:19 >







  • yukarıda çözümü olan sorunun orjinali
    Write a program that inputs three integers from the keyboard and prints the sum, average, product, smallest and largest of these numbers. The screen dialog should appear as follows:

    Input three different integers: 13 27 14
    Sum is 54
    Average is 18
    Product is 4914
    Smallest is 13
    Largest is 27

    YAP(A)MADIĞIM SORUNUN ORJİNALİ:
    Write a program that reads in five integers and determines and prints the largest and the smallest integers in the group. Use only the programming techniques you learned in this chapter.
  • O kadar zor değil sadece biraz parantezlere dikkat edeceksin tabi bu code for loop la daha kolay yapılır ama sadece if le dedigin için öyle yaptım hadi kolay gele ha.. burda ki "a,b,c,d,e" de kişiden aldığın rakamlar.


     
    int max=a;
    int min=a;
    if(b>max)
    {
    max=b;
    if(c>max)
    {
    max=c;
    if(d>max)
    {
    max=d;
    if(e>max)
    {
    max=e;
    }
    }
    else if(e>max){
    max=e;
    }
    }
    else {
    if(d>max)
    {
    max=d;
    if(e>max)
    max=e;
    }
    else if(e>max)
    {
    max=e;
    }
    }

    }
    else{
    if(c>max)
    {
    max=c;
    if(d>max)
    {
    max=d;
    if(e>max)
    max=e;
    }
    else if(e>max)
    {
    max=e;
    }
    }
    else if(d>max)
    {
    max=d;
    if(e>max)
    max=e;
    }
    else if(e>max)
    {
    max=e;
    }
    }

    //***************************************
    if(b<min)
    {
    min=b;
    if(c<min)
    {
    min=c;
    if(d<min)
    {
    min=d;
    if(e<min)
    {
    min=e;
    }
    }
    else if(e<min){
    min=e;
    }
    }
    else {
    if(d<min)
    {
    min=d;
    if(e<min)
    min=e;
    }
    else if(e<min)
    {
    min=e;
    }
    }

    }
    else{
    if(c<min)
    {
    min=c;
    if(d<min)
    {
    min=d;
    if(e<min)
    min=e;
    }
    else if(e<min)
    {
    min=e;
    }
    }
    else if(d<min)
    {
    min=d;
    if(e<min)
    min=e;
    }
    else if(e<min)
    {
    min=e;
    }
    }




  • bengals uğraştığın için teşekkürler bu kodu deneyeceğim ama bunda else var. Else bile olmayacak diyor yukarda sadece if
  • quote:

    Orjinalden alıntı: SaHaF34

    bengals uğraştığın için teşekkürler bu kodu deneyeceğim ama bunda else var. Else bile olmayacak diyor yukarda sadece if


    else syntaxını if yapısına çevirebilirsin bengals in yaptığı yanlış değil. Mesela:
     
    int a, b;

    if ( a<b)
    // ....
    else
    // ....


     
    int a, b;

    if ( a<b)
    // ....
    if ( a>=b)
    // ....


    mantık açısından aynı şeyler demektir. Bu arada söylemeden geçemeyeceğim, iyi bir kitaptan çalışıyorsun ancak ilerleyen konularda destekleyici başka bir kitaba daha ihtiyaç duyabilirsin.




  • quote:

    Orjinalden alıntı: MoonRose


    quote:

    Orjinalden alıntı: SaHaF34

    bengals uğraştığın için teşekkürler bu kodu deneyeceğim ama bunda else var. Else bile olmayacak diyor yukarda sadece if


    else syntaxını if yapısına çevirebilirsin bengals in yaptığı yanlış değil. Mesela:
     
    int a, b;

    if ( a<b)
    // ....
    else
    // ....


     
    int a, b;

    if ( a<b)
    // ....
    if ( a>=b)
    // ....


    mantık açısından aynı şeyler demektir. Bu arada söylemeden geçemeyeceğim, iyi bir kitaptan çalışıyorsun ancak ilerleyen konularda destekleyici başka bir kitaba daha ihtiyaç duyabilirsin.


    Evet bengals in yaptığı yanlış değil.Ama o soruda öyle istiyordu.neyse zaten döngüleride öğrendim.else li konuyu geçtim.Şimdi daha rahat.

    Dediğin gibi bir kaç kitap daha var elimde şimdilik ihtiyaç olunca bakıyorum mesela bir "Algoritma Geliştirme ve Programlamaya Giriş " kitabıda var içindeki örnekler ve algoritma mantığı nı anlatış şekli çok güzel gerçi ben algoritma yapmayı çok sevmiyorum ama sevmek zorundayız galiba büyük projelerde direk dalamazsın konuya bir planlama gerekir.Öğrenmeye çalışıyorum c öğrenmek isteyen arkadaşlara özellikle bu iki kitabı tavsiye ederim.(deitel in kitabı biraz tuzlu (45 ytl) ama hakediyor)




  • Kitap hakkında bir yorum yapamayacağım, Türkçe kitaplar hakkında bir bilgim yok maalesef
    Algoritma işi sadece planlamadan ibaret birşey değil. En az kaynakla, sorunu en hızlı karşılayabilecek çözümü, yani en verimli algoritmayı kurabilmek gerekir. Herkes kod yazabilir, ancak herkes algoritma tasarlayamaz. Bence ilgini o noktaya da yöneltirsen, ileride gerçekten kaliteli projeler çıkarabilirsin.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.