c++ - 调试霍纳规则程序

标签 c++ algorithm compiler-errors

我是一个初学者,完全困惑。 我的 C++ 代码中出现两个错误:

程序:32:5: 错误:'main' 的重新定义 Program:3:6: 注意:'main' 的先前定义在这里

给定一个 n 次多项式。多项式的形式为 P(x) = anxn + an-1xn-1 + … + a0。对于给定的值 k 和 m,您需要在霍纳规则的第 m 次迭代结束时找到 P(k)。霍纳法则涉及的步骤如下,

Pn(x) = 一个

Pn-1 (x) = an-1 + x * Pn (x) 第一次迭代。

Pn-2 (x) = an-2 + x * Pn-1 (x) 第2次迭代。

.

.

P0(x) = a0 + x * P1(x) 第n次迭代。

一般来说,Pi(x) = ai + x * Pi + 1(x),P0(x)就是最终的结果。你程序的输入如下,

第 1 行包含由空格分隔的整数 n、m 和 k。

第 2 行包含由空格分隔的系数 an、an-1…、a0。

输入:整数 n、m、k 和上述系数。

输出:第 m 次迭代结束时的 P(k) 值。

示例输入:

2 2 5

3 2 1

示例输出:

86

约束:

1 <= n, k, m <= 10

0 <= ai <=10

   #include <stdio.h>  
 #include <string.h>  
 int main() {  
   int num, i, j, result, index;  
   char name[11][11];   
   char temp[11];           
   scanf("%d\n", &num);  
   for(i = 0; i < num; i++)  
     scanf("%s\n", name[i]);  
   for(i = 0; i < num; i++) {   
     index = i;  
     for(j = i + 1; j < num; j++) {  
       result = strcmp(name[index], name[j]);  
       if(result > 0)                  
         index = j; 
         }  
     strcpy(temp, name[index]);  
     strcpy(name[index], name[i]);           
     strcpy(name[i], temp);  
   }  
   for(i = 0; i < num-1; i++) {  
     printf("%s", name[i]);  
     printf("\n");  
   }  
   printf("%s", name[num-1]);  
   return 0;  
 }  

#include<stdio.h>

int horner(int [], int, int);
int main()
{
    int n, m, k, i;
    int a[10];
    scanf("%d%d%d",&n,&m,&k);
    for (i=0; i<=n; ++i){
        scanf("%d",&a[i]);
    }
    printf("%d",horner(a,m,k));
    return 0;
}

int horner(int a[], int m, int k){
    if (m==0){
        return a[m];
    }
    else{
        return a[m] + k * horner(a,m-1,k);
    }
    }

最佳答案

错误信息似乎很好地解决了问题。你有两个主要功能。你只能有一个,所以选择一个并删除另一个。

关于c++ - 调试霍纳规则程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22865019/

相关文章:

java - 如何从 4,000,000,000 个号码中获取最频繁的 100 个号码?

在给定完整历史记录的情况下计算球队赢得体育比赛几率的算法

ios - SpeechKit Pod for Swift 导致未声明的类型错误

c++ - 使用 std::function 对象指向 C++11 中较大容器中结构的单个组件的迭代器

algorithm - 找出任何给定程序的时间复杂度的程序/算法

c++ - 一段简单的 C++ 代码中的错误 C2280

c++ - 错误 : invalid declarator before ‘&’ token

c++ - 没有溢出的无限递归 - 这可能吗?

c++ - 在 C++ 中使用 "\a"发出蜂鸣声在 mac 上的 xcode 中不起作用

c++ - 错误 LNK2019 : unresolved external symbol