Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
1
Cevap
5040
Tıklama
0
Öne Çıkarma
c de asal sayı ve çarpanlara ayırma
F
15 yıl
Onbaşı
Konu Sahibi

C de bir sayıyı alıp onun asal çarpanlarını gösteren bir program yazmaya çalışıyorum ilk önce o sayının yarısına kadar ki asal sayılara bölüyorum.Sonra elde ettiğim dizi tek tek sayıya bölüp deniyorum bölünüyorsa onları yazdırıyorum kodum şöyle



#include<stdio.h> 
#include<STDLIB.h>
void ona_kadar_asal(int a,int *asal)
{
int i;
int sayi;
int e=3;
int *asal_mi;
asal_mi = malloc(200);
for(i=0;i<200;i++)
{
asal_mi[i] = 1;
}
asal[0] = 2;
asal[1] = 3;
asal[2] = 5;
int b;
for(sayi=6;sayi<a/2;sayi++)
{
for( i = 2; i <= sayi/2; i++ ) {
if( sayi%i == 0 ) {

asal_mi[(i-2)] = 0 ;
break;
}
}
if( asal_mi[(i-2)] == 1 ) {
asal[e] = sayi;
e++;
}
}

asal[e] = 0;
realloc(asal_mi,(e+1));/* belleği verimli kullanmak için*/

}
void bolen_bul(int b,int *bolenler)
{
int a,c,d,e;
int aday[100];
ona_kadar_asal(b,aday);
for(a=0;aday[a];a++)
{
if(b % (aday[a]) == 0)
{
bolenler[a] = aday[a];
}
}
bolenler[a] = 0;
}
main()
{
int a,b;
int bolenler[200];
printf("sayilari carpanlara ayirir");
printf(" sayi giriniz >");
scanf("%d",&a);
bolen_bul(a,bolenler);
for(b=0;bolenler[b];b++)
{
printf("%d\n",bolenler[b]);
}
getche();
getchar(); /* program hemen açılıp kapanmasın diye */
system("PAUSE"); /* program hemen açılıp kapanmasın diye*/
return 0;
}




yardımlaını ziçin teşekkürler

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil