gpt4 book ai didi

c++ - 无法初始化 C++ 数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:28 24 4
gpt4 key购买 nike

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

我得到一个整数数组[1...N]。我应该编写返回信息的算法,如果在数组中:-所有索引为斐波那契数之一的元素都是合数。- 其余索引中至少有一个数是质数。我在 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;
}

附言。我是初学者,这是我的第一篇文章,对不起我的英语。

最佳答案

声明

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;

关于c++ - 无法初始化 C++ 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20807784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com