Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用于检查数组中合成图形的最大公约数的函数 #包括 使用名称空间std; int sal_sk(int sal){//如果sal是一个复合图形,则为真,如果不是,则为假。 对于(int i=2;i 0){ c=b; b=a%b; a=c; } 返回a; } int main(){ int-ok; 做{ int n;//元素数 int*a// 内萨尔; cout_C++_Arrays_Function - Fatal编程技术网

C++ 用于检查数组中合成图形的最大公约数的函数 #包括 使用名称空间std; int sal_sk(int sal){//如果sal是一个复合图形,则为真,如果不是,则为假。 对于(int i=2;i 0){ c=b; b=a%b; a=c; } 返回a; } int main(){ int-ok; 做{ int n;//元素数 int*a// 内萨尔; cout

C++ 用于检查数组中合成图形的最大公约数的函数 #包括 使用名称空间std; int sal_sk(int sal){//如果sal是一个复合图形,则为真,如果不是,则为假。 对于(int i=2;i 0){ c=b; b=a%b; a=c; } 返回a; } int main(){ int-ok; 做{ int n;//元素数 int*a// 内萨尔; cout,c++,arrays,function,C++,Arrays,Function,我甚至不需要一直读到数组部分就知道这个程序永远不会工作 我给你一个提示:sal_sk将始终返回true。另外,true和false不是int 就程序的其余部分而言,它几乎是不可出售的。你有一个opendo语句没有结果,main是不完整的,ok和sal变量是未使用的(?)。您正试图将cin数据放入未初始化的指针中。该new语句使用了错误的变量,而且它不在应该的位置。for循环从1开始索引,这是错误的,应该是0,并且if的括号位置错误循环体本身会破坏阵列 我建议你完全删除主函数,从头开始。除了阅读C

我甚至不需要一直读到数组部分就知道这个程序永远不会工作

我给你一个提示:
sal_sk
将始终返回
true
。另外,
true
false
不是
int

就程序的其余部分而言,它几乎是不可出售的。你有一个open
do
语句没有结果,
main
是不完整的,
ok
sal
变量是未使用的(?)。您正试图将
cin
数据放入未初始化的指针中。该
new
语句使用了错误的变量,而且它不在应该的位置。for循环从
1
开始索引,这是错误的,应该是
0
,并且
if
的括号位置错误循环体本身会破坏阵列

<>我建议你完全删除<代码>主<代码>函数,从头开始。除了阅读C++书籍,我能给你的最好建议是逐行阅读代码,并向你自己解释它所做的。如果你不能,回到书本。


几点提示:您不需要任何
do…而
语句,您希望在请求输入之前初始化数组,并且希望请求输入
n次。

if(sal_sk(A[i]==true))
我认为这不是你想要的。它采用了一些隐式转换,最终将
a[I]
的传递值转换为
1
(除非
a[I]
0
,否则它将保持
0
)。您可能想删除
==true
。尝试删除
==true
似乎没有帮助,如果
您必须为
a[]
保留内存(新的,向量更好)此外,在
lkd
中,您应该检查
a>b
。如果没有,则交换。当然,
sal_sk
应该返回一个
bool
您忘记了写入结果…如何检查程序?
#include <iostream>
using namespace std;

int sal_sk (int sal){ // If sal is a composite figure, then  true, if its not then false.

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


}
int lkd(int a,int b){ // Checks the gcd
    int c;
    while(b > 0) {
        c = b;
        b = a % b;
        a = c;
    }
    return a;

}

int main(){
int ok;

do{
    int n;//Number of elements 
    int*a; //
    int sal;


    cout<<"Put in the number of elements"<<endl;
  std::cin >> n;
    cout<<"Input"<<n<<"elements"<<endl;
  std::cin >> *a;



int *array = new int[*a];



int rez = a[0];

for(int i=1; i<n; i++) {
if(sal_sk(a[i]==true))
    rez = lkd(rez, a[i]);
delete [] array;
}