C++ Can';t初始化C++;排列

C++ Can';t初始化C++;排列,c++,arrays,algorithm,indexing,C++,Arrays,Algorithm,Indexing,我正在尝试数组中的哪些元素(也是斐波那契数)是素数还是复合数 给我一个整数数组[1…N]。我应该写一个算法,返回数组中的信息: -作为斐波那契数之一的索引的所有元素都是复合数。 -rest索引中至少有一个数字是素数。 我在int main()处出错: 无法在赋值中将“”转换为“int”,并且:初始值设定项值太多。 我的代码如下: #include <iostream> #include <cstdlib> using namespace std; const int N

我正在尝试数组中的哪些元素(也是斐波那契数)是素数还是复合数

给我一个整数数组[1…N]。我应该写一个算法,返回数组中的信息: -作为斐波那契数之一的索引的所有元素都是复合数。 -rest索引中至少有一个数字是素数。 我在int main()处出错: 无法在赋值中将“”转换为“int”,并且:初始值设定项值太多。 我的代码如下:

#include <iostream>
#include <cstdlib>
using namespace std;
const int N = 5;
void function1(int tab[]);
bool function2(int tab[], int);
int main() {

    int tab[N], i;
    tab[N] = { 4, 8, 12, 16, 13 };
    function1(tab);
    system("pause");
    return 0;
}

void function1(int tab[]) {
    int a, b, x, i;
    bool g = 1;
    for ( i = 0; i < N, g == 1; i++) {
        a = 0;
        b = 1;
        while (i < a && i < b) {
            a = a + b;
            b = a + b;
        }
        if (i == b || i == a) {
            x = function2(tab, i);
        }
        if (!x) {
            cout << "NO";
            g = 0;
        }
    }
    int licz_pier = 0;
    i = 0;
    if (g) {
        while (i < N && licz_pier == 0) {
            if (tab[i] != 0) {
                if (function2(tab, i)) {
                    i++;
                }
                else {
                    licz_pier = 1;
                    cout << "yes" << endl;
                }
            }
        }
    }

}

bool function2(int tab[], int i) {
    int k = 2;
    bool x = 1;
    while (k < sqrt(tab[i]) && x == 1) {
        if (tab[i] % k == 0) {
            x = 0;
            tab[i] = 0;
                return 1;
        }
        k = k + 1;
    }

    if (x) {
        return 0;
    }
    return 0;
}
#包括
#包括
使用名称空间std;
常数int N=5;
void函数1(int tab[]);
bool函数2(int tab[],int);
int main(){
int tab[N],i;
tab[N]={4,8,12,16,13};
功能1(选项卡);
系统(“暂停”);
返回0;
}
无效函数1(int选项卡[]){
int a,b,x,i;
boolg=1;
对于(i=0;i
tab[N] = { 4, 8, 12, 16, 13 };
不是合法的。您需要将初始化放在定义中:

int tab[N] = { 4, 8, 12, 16, 13 };
或在声明后逐个手动初始化数组:

tab[0] = 4;
tab[1] = 8;
tab[2] = 12;
tab[3] = 16;
tab[4] = 13;
声明

tab[N] = { 4, 8, 12, 16, 13 };
不是合法的。您需要将初始化放在定义中:

int tab[N] = { 4, 8, 12, 16, 13 };
或在声明后逐个手动初始化数组:

tab[0] = 4;
tab[1] = 8;
tab[2] = 12;
tab[3] = 16;
tab[4] = 13;
声明

tab[N] = { 4, 8, 12, 16, 13 };
不是合法的。您需要将初始化放在定义中:

int tab[N] = { 4, 8, 12, 16, 13 };
或在声明后逐个手动初始化数组:

tab[0] = 4;
tab[1] = 8;
tab[2] = 12;
tab[3] = 16;
tab[4] = 13;
声明

tab[N] = { 4, 8, 12, 16, 13 };
不是合法的。您需要将初始化放在定义中:

int tab[N] = { 4, 8, 12, 16, 13 };
或在声明后逐个手动初始化数组:

tab[0] = 4;
tab[1] = 8;
tab[2] = 12;
tab[3] = 16;
tab[4] = 13;


您的代码有什么问题?某些输入的预期和实际输出是什么?您可能需要阅读。请尝试将选项卡数组的初始化与声明内联。问题的标题并不真正暗示问题是什么,它应该是实际问题的一句话摘要。此外,在发布时关于编译器错误的问题,您应该在问题中包含实际(完整且未编辑的)错误日志。好的,抱歉。感谢您提供信息!如果您有问题,您应该删除不适用于该问题的部分代码(但请确保编译您最终得到的代码,以确保其具有相同的问题)。对于这一特定问题,您可能会得到一个大约10行的程序。此外,每个问题一个问题-我看到您对答案发表了评论,认为它仍然不起作用-如果它解决了您要问的问题,您应该接受答案,如果您无法解决新问题,则发布一个新问题-但一定要包括expected和实际输出,但理想情况下,您应该自己调试以找到问题。您的代码有什么问题?某些输入的预期和实际输出是什么?您可能需要阅读。尝试将选项卡数组的初始化与声明内联。问题的标题并不真正暗示问题是什么,它应该是您实际问题的一句话摘要。此外,在发布有关编译器错误的问题时,您应该在问题中包含实际(完整且未编辑的)错误日志。好的,抱歉。感谢提供信息!如果您有问题,您应该删除不适用于该问题的部分代码(但一定要编译您最终得到的内容,以确保它具有相同的问题)。对于这一特定问题,您可能会得到一个大约10行的程序。此外,每个问题一个问题-我看到您对答案发表了评论,认为它仍然不起作用-如果它解决了您要问的问题,您应该接受答案,如果您无法解决新问题,则发布一个新问题-但一定要包括expected和实际输出,但理想情况下,您应该自己调试以找到问题。您的代码有什么问题?某些输入的预期和实际输出是什么?您可能需要阅读。尝试将选项卡数组的初始化与声明内联。问题的标题并不真正暗示问题是什么,它应该是您实际问题的一句话摘要。此外,在发布有关编译器错误的问题时,您应该在问题中包含实际(完整且未编辑的)错误日志。好的,抱歉。感谢提供信息!如果您有问题,您应该删除不适用于该问题的部分代码(但一定要编译您最终得到的内容,以确保它具有相同的问题)。对于这一特定问题,您可能会得到一个大约10行的程序。此外,每个问题一个问题-我看到您对答案发表了评论,认为它仍然不起作用-如果它解决了您要问的问题,您应该接受答案,如果您无法解决新问题,则发布一个新问题-但一定要包括expected和实际输出,但理想情况下,您应该自己调试以找到问题。您的代码有什么问题?某些输入的预期和实际输出是什么?您可能需要阅读。尝试将选项卡数组的初始化与声明内联。问题的标题并不真正暗示问题是什么,它应该是您实际问题的一句话摘要。此外,在发布有关编译器错误的问题时,您应该在问题中包含实际(完整且未编辑的)错误日志。好的,抱歉。感谢提供信息!如果您有问题,您应该删除不适用于该问题的部分代码(但一定要编译你最终得到的东西,以确保它有相同的问题)。对于这个特定的问题,你可能会得到一个大约10行的程序。另外,每个问题一个问题-我看到你对仍然不起作用的答案发表了评论-你应该接受