【问题标题】:Can I use an array as a parameter in a function in C++?我可以在 C++ 的函数中使用数组作为参数吗?
【发布时间】:2016-01-25 01:30:13
【问题描述】:

我正在解决 Project Euler 问题 #3。我想我已经完成了前半部分,但我不确定如何在我的一系列因素中找到最大的数字。有没有办法在函数中使用数组作为参数?

    #include <iostream>
    #include <cmath>
    #include <ctime>

    bool isPrime(int);

    bool isPrime(int x){
        if(x==2){
            return true;
        }
        if(x%2==0){
            return false;
        }
        for(int i=0;i<x;i++){
            if(x%i==0){
                return false;
            }
        }
    }



    int prime_factors(int x){ 
        int j = 0;
        int arry[900];
        for(int i = 0; i<x;i++){
            if(isPrime(i)==true){
                if(x%i==0){
                    arry[j]=i;
                    j++;
                }   
            }
        }
    }

【问题讨论】:

标签: c++ arrays function


【解决方案1】:

有很多方法可以传递您的数组。与您当前的代码最一致的是:

int largest_prime_index(int* array, int length)
{
   if (length < 1)
   {
       return -1;
   }

   int largest_index = 0;

   for (int i = 1; i < length; i++)
   {
      if (array[i] > array[largest_index])
      {
         largest_index = i;
      }
   }

   return largest_index;
}

请注意,如果您使用的是 arry 变量,则应将 j 用于 length,而不是 900

【讨论】:

    猜你喜欢
    • 2013-09-20
    • 2011-11-25
    • 2015-03-10
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多