因此,我已经创建了一个名为allintegersarray
的大型数组。它是通过采用称为矩阵的2d数组创建的,其中第一个是行,第二个是列。我知道如何找到allintegersarray数组的质数,但是我迷失于如何将这些质数复制到它们自己的数组中,我将其初始化为primenumbersarray
。这是一些代码;
第一个功能:
int is_prime(int num)
{
if (num <= 1) return 0;{
if (num % 2 == 0 && num > 2) return 0;{
for(int i = 3; i < num / 2; i+= 2)
{
if (num % i == 0)
return 0;
}
return 1;
}
}
}
和第二个功能:
void fillPrime(int A[TOTAL_ROWS][TOTAL_COLUMNS], int rows, int columns){
int i,j;
for(i = 0; i < rows; i++){
for(j = 0 ;j < columns; j++){
if(is_prime(A[i][j])){
allnumbersarray[arraylength++] = A[i][j];
}
}
}
////////Below, this for statement will print the prime numbers within the array,
but instead of doing that, I'd like it to fill the array called primenumbersarray////////
printf("Prime numbers in all numbers array: \n");
for (i = 0; i < arraylength; i += 2){
printf( "%d\n", allnumbersarray[i]) ;
}
}
答案 0 :(得分:0)
只需将fillPrime更改为类似的内容
void fillPrime(int A[TOTAL_ROWS][TOTAL_COLUMNS], int rows, int columns){
int i,j; int a=0;
for(i = 0; i < rows; i++){
for(j = 0 ;j < columns; j++){
if(is_prime(A[i][j])){
primenumbersarray[a] = A[i][j];a++;
}
}
}
据我所知,您想将质数保存到称为primenumbersarray的数组中,并且所有数字都已保存在称为A的2D数组(矩阵)中。我希望这会有所帮助,祝你好运。