如何修改代码设计出一个伴随矩阵

img


现在卡在这个上面,想用for循环设计出来,但是不会,希望各位大lao教教

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7795513
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:在主函数输入五个字符串,用另一函数对他们排序,然后在主函数输出已经排好序的五个字符串
  • 除此之外, 这篇博客: 将一串数字以空格间隔的方式输入,并以插入排序的方式进行升序排序,最后输出中的 题目 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 将一串数字以空格间隔的方式输入,并以插入排序的方式进行升序排序,最后输出。
    例如:
    输入:1 3 44 2
    输出:1 2 3 44

    插入排序的基本思想:每一步将一个待排序的元素按照其值的大小插入到已排序序列的适当位置上,直到待排序元素插入完为止。

    #include <iostream>
    #include <sstream>
    #include <string>
    #include <vector>
    using namespace std;
    
    inline double stringTodouble(const string& s){
        //用于将字符串转换为double实数
        //因为要调用多次,将其置为内联函数
        double d;
        istringstream is(s);
        is>>d;
        return d;
    }
    
    void stringsplit(const string s,vector<double>& v){
        string temp;
        istringstream stream(s);
        while(stream>>temp)
            v.push_back(stringTodouble(temp));
    }
    
    void insertSort(vector<double>& V,int n){
        //将当前移动的数从后面开始对比,逐步前移
        int i,j;
        for(i=1;i<n;i++){
            j=i;
            double temp=V[i];
            while(j>0 && temp<V[j-1]){
                V[j] = V[j-1];  //后移
                j--;
            }
            V[j] = temp;
        }
    }
    
    void printSort(const vector<double> v){
        cout<<"排序后的结果是:";
        for(int x=0;x<v.size();x++)
            cout<<v[x]<<" ";
    }
    
    int main()
    {
        string str;
        vector<double> v;
        cout<<"输入数字进行插入排序:"<<endl;
        getline(cin,str);
        stringsplit(str,v);         //将数从字符串分割后放入容器
        insertSort(v,v.size());     //进行插入排序
        printSort(v);               //输出排序后的序列
        cout<<endl;
        return 0;
    }
    
  • 您还可以看一下 李月喜老师的企业微信开发第三方应用开发篇课程中的 回调配置概述,回调签名验证及消息解密集成 小节, 巩固相关知识点