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