Flowchart'da bir ödevim var. Neredeyse tamamını yaptım fakat 1 yazdığımda önceki girdiğim asal sayıları sıralamam gerek. Bunun hakkında yardım edebilecek var mıdır?
Asal sayıları tuttuğunuz yapıdaki bütün sayıları gezerken asal sayı olup olmadığını kontrol edip eğer bulursa başka bir listeye alacak bir fonksiyon yazmanız gerek.
Bir sayının asal olup olmadığını anlamak için 1 ve kendisi hariç hiçbir sayıya bölünmemeli. Bunu başarmak için ilgili sayıya 2 den başlayıp sayıdan 1 küçük önceki sayıya kadar bütün sayıların modunun 0 olduğunu kontrol eden ayrı bir fonksiyon işinizi görecektir.
Örnek C Kodu:
C:
bool Isprime(long int a)
{
long int counter = 2;
while(counter < a)
{
if(a % counter == 0)
{
printf("\n %ld divides at %ld\n\n" , a ,counter);
return false;
}
else
{
counter++;
}
}
return true;
}
Asal sayıları tuttuğunuz yapıdaki bütün sayıları gezerken asal sayı olup olmadığını kontrol edip eğer bulursa başka bir listeye alacak bir fonksiyon yazmanız gerek.
Bir sayının asal olup olmadığını anlamak için 1 ve kendisi hariç hiçbir sayıya bölünmemeli. Bunu başarmak için ilgili sayıya 2'den başlayıp sayıdan 1 küçük önceki sayıya kadar bütün sayıların modunun 0 olduğunu kontrol eden ayrı bir fonksiyon işinizi görecektir.
Örnek C kodu:
C:
bool Isprime(long int a)
{
long int counter = 2;
while(counter < a)
{
if(a % counter == 0)
{
printf("\n %ld divides at %ld\n\n" , a ,counter);
return false;
}
else.
{
counter++;
}
}
return true;
}
Şöyle bir şey yaptım asal ve asal olmayan sayıları ayırt ediyor ben şimdi şunu yapmak istiyorum asal sayı girdiğimde örnek 5 7 11 girdikten sonra 1 yazdığımda bu sayılar 3 tane bana bunu söylemesini istiyorum 1 yazdığımda girilen asal sayılara gidiyor fakat sayaç doğru çalışmıyor 3 tane asal sayı girdiysem orada 3 yazmıyor.
Diyagram şekillerinin görevini unutmuşum ama mantık olarak olması gereken x sayısını 1 ile x/2 sayıları arasındaki sayılara böleceksin tek tek yani {2,3,4...,(x/2)-1} bu kümedeki sayılara böleceksin. Bu sayılar içinde bölen yoksa asal sayıdır diyeceksin.