C++两个数组一个存原始数据一个存
时间: 2023-08-03 20:07:37 浏览: 41
把数据从小到大排序后,如何将排序后的数据存入第二个数组中?
你可以使用标准库中的sort函数来对第一个数组进行排序,然后使用循环遍历第一个数组,将排序后的数据存入第二个数组中,具体代码实现如下:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr1[] = {5, 2, 8, 3, 6};
int arr2[5];
sort(arr1, arr1 + 5);
for(int i = 0; i < 5; i++)
{
arr2[i] = arr1[i];
cout << arr2[i] << " ";
}
return 0;
}
```
输出结果为:2 3 5 6 8
注意,这里的arr1 + 5表示对arr1数组进行排序,排序的范围是从arr1的第一个元素开始,到第5个元素(不包括第5个元素)。
相关问题
C++两个数组一个数组保存原有数据,另一个数组保存改变后的数据
你可以使用循环遍历原始数组,对每个元素进行操作,并将操作后的结果存储到另一个数组中。具体代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[5];
for (int i = 0; i < 5; i++) {
arr2[i] = arr1[i] * 2; // 对原始数组中的每个元素进行操作,将操作后的结果存储到另一个数组中
}
cout << "Original array: ";
for (int i = 0; i < 5; i++) {
cout << arr1[i] << " ";
}
cout << "\nChanged array: ";
for (int i = 0; i < 5; i++) {
cout << arr2[i] << " ";
}
return 0;
}
```
在上面的代码中,我们先定义了一个原始数组 `arr1`,然后定义了一个空数组 `arr2`,接着使用循环遍历 `arr1` 数组,对每个元素进行操作,并将操作后的结果存储到 `arr2` 数组中。最后,分别输出 `arr1` 和 `arr2` 数组的内容,以检查操作是否成功。
用引用传递写一个字符数组交换的c++程序
以下是一个利用引用传递实现字符数组交换的C程序:
```c
#include <stdio.h>
#include <string.h>
void swap(char **str1, char **str2) {
char *temp = *str1;
*str1 = *str2;
*str2 = temp;
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
printf("Before swap: str1 = %s, str2 = %s\n", str1, str2);
swap(&str1, &str2);
printf("After swap: str1 = %s, str2 = %s\n", str1, str2);
return 0;
}
```
该程序中,我们使用了一个`swap()`函数来交换两个字符数组。该函数使用指向指针的指针来接受字符数组的地址,从而可以直接修改原始数据。在`main()`函数中,我们定义了两个字符数组`str1`和`str2`,然后将它们的地址传递给`swap()`函数进行交换。最后,我们输出交换后的结果。