Bir A dizisindeki 100 elemanın asallığını kontrol edip asal olarlar ile yani bir B dizisi oluşturan bir program yazmam gerekiyor ama biyerde hata yapıyorum. Yardımcı olursanız sevinirimç yazdığım programın kodları şu şekilde:
#include<stdio.h> #include<math.h> int function(int A[][10], int B[]){ int i,j,k,size=0; double m; for (i=0 ;i<10; i++){ for(j=0; j<10; j++){ m=(float)sqrt(A[j]); for(k=2;k<=m;k++){ if(A[j]%k!=0) B[size++]=A[j]; else break; } } }
return size; } int main() { int A[10][10],i,j,m; int B[100]; for (i=0 ;i<10;i++){ for(j=0;j<10;j++){ A[j]=(10*i+1+j); } } for (i=0;i<10;i++){ for(j=0;j<10;j++){ printf("%5d\n",A[j]); printf("\n"); } } m=function(A,B); for(i=0 ;i<m; i++) printf("%8d",B); getchar (); getchar (); return 0; }
yardım edebilcek kimse yokmu acaba:/ hatamı bulamadım birtürlü sonuç olarak B dizisi asal bi dizi oluyor ama 100 elemanlı oluyor size ı return etmeme rahmen
Kodunu okumak çok zahmetli. Sanırım asal bulma algoritmanda sorun vardı. Biraz değiştirdim oldu. Artık hataları kendin bulursun.