Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
2
Cevap
3610
Tıklama
0
Öne Çıkarma
C de Asal Sayı Problemi
İ
16 yıl
Er
Konu Sahibi

1- 100 arasındaki asal sayıları bulan programı yazamaya çalıştım.Ama 1 ile 100 arasındaki bütün sayıları yazıyor.Acaba nerede hata yaptım.Bilen var mıdır?

#include<stdio.h>
#include<conio.h>
main () {
int a=1,b=2,c;
while(a<=100){c=0;
while(b<a){
if(a%b==0) {c=1;}
b=b+1;}
if(c==0)
printf("%d sayisi asal sayidir.\n",a);
a=a+1;}
getch ();
}



B
16 yıl
Onbaşı

Öncelikle, böyle program yazılmaz. A, b, c isimli değişkenler programı okuyana hiç birşey anlatmaz, arada bir boşluk filan bırakılır ve deyimlerin seviyesine göre kod içeri tablanır (indent).

Kodu okuyabilmek için önce şu hale çevirmem gerekti:

 
#include<stdio.h>
#include<conio.h>
main () {

int a=1,b=2,c;
while(a<=100)
{
c=0;
while(b<a){

b = 2;

if(a%b==0)
{
c=1;
}
b=b+1;
}
if(c==0)
printf("%d sayisi asal sayidir.\n",a);
a=a+1;
}
getch ();
}


Bu hale çevirdikten sonra çok rahat bir şekilde cevap karşımızda, b değerini ilk haline getirmeyi unutmuşsun ( b = 2 ). Şu haliyle ilk döngüden sonra b sayısı a'dan büyük bir değer alıyor ve if'in içine hiç girmiyor.


Bu mesaja 1 cevap geldi.
İ
16 yıl
Er
Konu Sahibi

Çözdüm olayı. Arkadaşım senin yazdığında hatalı doğrusu budur.


#include<stdio.h>
#include<conio.h>
main () {

int a=1,b=2,c;
while(a<=100)
{
c=0; b = 2;
while(b<a){



if(a%b==0)
{
c=1;
}
b=b+1;
}
if(c==0)
printf("%d sayisi asal sayidir.\n",a);
a=a+1;
}
getch ();
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.