汉堡儿 2025-03-24 13:26 采纳率: 0%
浏览 13

c++学习中出现的c1001问题

学习遇到c1001问题。┭┮﹏┭┮

img


#include<iostream>
using namespace std;
//案列要求:用模板构造排序函数,可以用不同类型
//从大到小,char 函数,和int 函数,为选择排序

//交换函数
template <class T>
void swap(T& a, T& b)
{
    T temp = a;
    a = b;
    b = temp;
}


//排序函数
template <class T>
void makelist(T arr[], int num)
{
    for (int i = 0; i < num; i++)
    {
        int max = i;
        for (int j = i+1; j < num; j++)
        {
            //如果j下表的数比j+1小,则j+1下的数为最大值
            if (arr[j] < arr[j + 1])
            {
                max = j ;
            }
        }
        if (max != i)
        {
            swap(arr[max], arr[i]);
        }
    }
}

//打印函数
template<class T>
void print(T arr[], int lenn)
{
    for (int h = 0; h < lenn, h++)
    {
        cout << arr[h] << "  ";
    }
    cout << endl;
}

void test01()
{
    char arr[] = "cdagfbe";
    int len = sizeof(arr) / sizeof(arr[0]);
    makelist(arr, len);
    print(arr, len);
}

int main()
{
    test01();
    return 0;
}

  • 写回答

6条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-03-24 13:26
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    问题描述:学习中遇到了c1001问题,希望帮忙解答。 解答:根据提供的代码内容,c1001错误通常表示编译器语法错误或格式错误。在代码中,存在一些拼写错误和逻辑错误,例如"template"拼写错误、函数参数错误、for循环中的逗号错误等。 这里提供了修正后的代码部分,希望可以帮助解决问题:
    #include <iostream>
    using namespace std;
    //交换函数
    template <class T>
    void swap(T& a, T& b){
        T temp = a;
        a = b;
        b = temp;
    }
    //排序函数
    template <class T>
    void makelist(T arr[], int num){
        for (int i = 0; i < num; i++)
        {
            int max = i;
            for (int j = i+1; j < num; j++)
            {
                if (arr[j] < arr[j + 1])
                {
                    max = j ;
                }
            }
            if (max != i)
            {
                swap(arr[max], arr[i]);
            }
        }
    }
    //打印函数
    template<class T>
    void print(T arr[], int lenn){
        for (int h = 0; h < lenn; h++)
        {
            cout << arr[h] << " ";
        }
        cout << endl;
    }
    void test01(){
        char arr[] = "cdagfbe";
        int len = sizeof(arr) / sizeof(arr[0]);
        makelist(arr, len);
        print(arr, len);
    }
    int main(){
        test01();
        return 0;
    }
    

    希望这份修正后的代码可以帮助解决遇到的问题。如果还有其他疑问或需要进一步帮助,请随时告诉我。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月24日