Çözüldü C dili sorusu nasıl çözülür?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Frastoly

Hectopat
Katılım
21 Mayıs 2020
Mesajlar
147
Çözümler
2
While döngüsü kullanarak, kullanıcı negatif sayı girene kadar girilen sayılar içerisinden asal olanların toplamını ve ortalamasını ekrana yazdıran program kodunu yazınız.
 
Çözüm
Kodu aşağıya bırakıyorum ancak zorda kalmadığınız sürece bakmanızı tavsiye etmem. Bu kadar basit bir algoritmayı düşünüp, uygulayabiliyor olmanız gerekiyor. Böyle devam ederseniz bizim ekmeğimize yağ sürmekten başka bir şey yapmazsınız.

C:
#include <stdio.h>

int main()
{
    int input, asalSayiToplam = 0, i, check = 0, asalSayiAdet = 0;
    
    while(input >= 0)
    {
        printf("Sayi giriniz: ");
        scanf("%d", &input);
        
        for(i = 2; i < input; i++)
        {
            if(input %i == 0)
            {
                check = 1;
                break;
            }
        }
        
        if(check == 0)
        {
            asalSayiToplam += input;
            asalSayiAdet++;
        }

        check = 0;

    }
    printf("Girilen tum asal sayilarin toplami: %d\n", asalSayiToplam);
    printf("Girilen asal sayilarin ortalamasi: %d", asalSayiToplam / asalSayiAdet);

    return 0;
}
Şu ödevlerini bize soran mühendislerin ilerde ne yapacağını çok merak ediyorum. Daha şu algoritmayı kuramıyorsan; bırak okuma Allah aşkına.

İlla da yaptıracağım diyorsan ödevini, bir fiyat söyle ona göre yapalım. Danışmanlık ücreti diye bir şey var çünkü.
 
Kodlardan daha ziyade mantığı veririm. Eğer girilen sayı 0 dan büyükse while bozulmayacak şekilde bir koşul sağlamış olursun. while dönügüsü içinde bir for döngüsüyle girilen sayının asal olup olmadığını kontrol ettir. Eğer girilen sayı asalsa 0 a eşitlediğin bir başka değişkenle topla. Daha sonrasında her seferinde bu değikenin üzerine eklensin. Mantığı geliştirebilirsin. Algoritmayı da normalde senin oluşturman gerekiyor. Fakat bu şartlarda sana sunabileceğim en büyük yardım bu.
 
Richard Stallman bunu beğenmedi.

C:
#include <stdio.h>
#include <stdbool.h>

int main() {
    int giris;
    bool negative = false;
    while(negative == false) {
        printf("Bir sayı girin:\t");
        scanf("%d", &giris);

        if(giris < 0) {
            negative = true;
        }
    
    }

    printf("Negatif sayı girildi, adios!\n");
    
    return 0;
}
 
Richard Stallman bunu beğenmedi.
Burada yapılan şeyin onla ilgisi yok ki. Şu algoritmayı kuramayıp mühendislik okuyan birisinin ilerde yapabileceği ne olabilir ki?

Yanlış anlaşılmasın soruyu yapamaması başarısız olduğunu göstermiyor ama hazıra konup derslerde anlatılan şeyleri dinlemeden ödevini buraya sorup tamamen yapmamızı istiyor. Sonra da bu kafayla ilerleyip sürekli copy paste yapıyor, ilerde de "neden iş bulamadım?" diyor.
 
Kodu aşağıya bırakıyorum ancak zorda kalmadığınız sürece bakmanızı tavsiye etmem. Bu kadar basit bir algoritmayı düşünüp, uygulayabiliyor olmanız gerekiyor. Böyle devam ederseniz bizim ekmeğimize yağ sürmekten başka bir şey yapmazsınız.

C:
#include <stdio.h>

int main()
{
    int input, asalSayiToplam = 0, i, check = 0, asalSayiAdet = 0;
    
    while(input >= 0)
    {
        printf("Sayi giriniz: ");
        scanf("%d", &input);
        
        for(i = 2; i < input; i++)
        {
            if(input %i == 0)
            {
                check = 1;
                break;
            }
        }
        
        if(check == 0)
        {
            asalSayiToplam += input;
            asalSayiAdet++;
        }

        check = 0;

    }
    printf("Girilen tum asal sayilarin toplami: %d\n", asalSayiToplam);
    printf("Girilen asal sayilarin ortalamasi: %d", asalSayiToplam / asalSayiAdet);

    return 0;
}
 
Çözüm
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…