【问题标题】:C - take specific contents of an integer array and place them in another arrayC - 获取整数数组的特定内容并将它们放在另一个数组中
【发布时间】:2018-12-02 22:43:24
【问题描述】:

所以,我已经创建了一个名为allintegersarray 的大型数组。它是通过采用称为矩阵的二维数组创建的,其中行是第一个,列是第二个。我知道如何找到 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]) ;
        }
}

【问题讨论】:

    标签: c arrays integer primes


    【解决方案1】:

    只需将 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 的二维数组(矩阵)中。我希望这会有所帮助,祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多