Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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+中特殊数组的问题+; 我通过学习C++来解决其他设计语言中的问题。所以我会问很多问题。 我发现了一个非常有趣的,我有点迷路了_C++_Arrays_Algorithm - Fatal编程技术网

C+中特殊数组的问题+; 我通过学习C++来解决其他设计语言中的问题。所以我会问很多问题。 我发现了一个非常有趣的,我有点迷路了

C+中特殊数组的问题+; 我通过学习C++来解决其他设计语言中的问题。所以我会问很多问题。 我发现了一个非常有趣的,我有点迷路了,c++,arrays,algorithm,C++,Arrays,Algorithm,我需要编写一个程序,其中: 1。创建其中一个特殊阵列(8x8): a。对角矩阵 b。低三角矩阵 c。高三角矩阵 d。对称矩阵 2。用[-30..45]范围内的随机整数填充 3。显示填充的数组 4。将数组转换为向量 5。使用线性搜索算法在向量中搜索用户指定的元素 6。使用以下算法之一对向量进行排序: a。泡泡 b。插入 c。挑选 7。显示已排序的向量。 我已经开始做了,但是我有一些问题 我不知道如何创建这些矩阵,我想这是因为它与for循环有关 我知道如何生成随机数,但不知道范围 我可以使用cout

我需要编写一个程序,其中:

1。创建其中一个特殊阵列(8x8):

a。对角矩阵

b。低三角矩阵

c。高三角矩阵

d。对称矩阵

2。用[-30..45]范围内的随机整数填充

3。显示填充的数组

4。将数组转换为向量

5。使用线性搜索算法在向量中搜索用户指定的元素

6。使用以下算法之一对向量进行排序:

a。泡泡

b。插入

c。挑选

7。显示已排序的向量。

我已经开始做了,但是我有一些问题

  • 我不知道如何创建这些矩阵,我想这是因为它与for循环有关

  • 我知道如何生成随机数,但不知道范围

  • 我可以使用cout函数显示数组,但它看起来不像矩阵

  • 转变的最佳方式是什么

  • 我如何实现这个搜索算法

  • 这是我的代码,我刚刚实现了排序算法,并创建了一个带有随机数的矩阵。但我认为我做得不对

    #include <algorithm>
    #include <iostream>
    #include <vector>
    #include <time.h>
    using namespace std;
    template<typename ForwardIterator>
    void selectionSort(ForwardIterator begin, ForwardIterator end) {
        for (ForwardIterator i = begin; i != end; ++i)
            iter_swap(i, min_element(i, end));
    
    
    }
    template<typename Iterator>
    void bubbleSort(Iterator first, Iterator last)
    {
        Iterator i, j;
        for (i = first; i != last; i++)
        for (j = first; j < i; j++)
        if (*i < *j)
        {
            iter_swap(i, j);
        }
    }
    
    void insertion_sort(int arr[], int length) {
        int i, j, tmp;
        for (i = 1; i < length; i++) {
            j = i;
            while (j > 0 && arr[j - 1] > arr[j]) {
                tmp = arr[j];
                arr[j] = arr[j - 1];
                arr[j - 1] = tmp;
                j--;
            }//end of while loop
    
        }//end of for loop
    }//end of insertion_sort.
    
    
    
    int main()
    {
    
        int method, matrixTYPE, arr[8][8]; 
        for (int i = 0; i < 8; i++)
    
        {
    
            arr[i][i] = (rand() % 44) + -30;
    
        }
        for (int i = 0; i < 16; i++)
        {
            cout << arr[i][i] << endl;
        }
        system("pause");
    
    
    
        return 0;
    
    } 
    
    #包括
    #包括
    #包括
    #包括
    使用名称空间std;
    模板
    无效选择排序(ForwardIterator开始、ForwardIterator结束){
    for(ForwardIterator i=begin;i!=end;++i)
    iter_交换(i,min_元素(i,end));
    }
    模板
    void bubbleSort(迭代器优先,迭代器最后)
    {
    迭代器i,j;
    for(i=first;i!=last;i++)
    对于(j=first;j0&&arr[j-1]>arr[j]){
    tmp=arr[j];
    arr[j]=arr[j-1];
    arr[j-1]=tmp;
    j--;
    }//while循环结束
    }//循环结束
    }//插入和排序结束。
    int main()
    {
    int方法,matrixTYPE,arr[8][8];
    对于(int i=0;i<8;i++)
    {
    arr[i][i]=(rand()%44)+-30;
    }
    对于(int i=0;i<16;i++)
    {
    
    cout您需要两个嵌套循环来访问2D数组的所有元素:

    for (int i = 0; i < 8; ++i)
        for (int j = 0; j < 8; ++j)
            arr[i][j] = 42;
    
    第二个球出界了

    [X] [ ] [ ] [ ]
    [ ] [X] [ ] [ ]
    [ ] [ ] [X] [ ]
    [ ] [ ] [ ] [X]