编写一段程序,创建一个含有 10 个整数的 vector 对象,然后使用迭代器将所有元素的值都变成原来的两倍。输出 vector 对象的内容,检验程序是否正确。
时间: 2023-05-12 20:04:02 浏览: 64
好的,以下是程序的代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec(10); // 创建一个含有 10 个整数的 vector 对象
for (int i = 0; i < 10; ++i) {
vec[i] = i + 1; // 初始化 vector 对象
}
// 使用迭代器将所有元素的值都变成原来的两倍
for (auto it = vec.begin(); it != vec.end(); ++it) {
*it *= 2;
}
// 输出 vector 对象的内容
for (auto x : vec) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}
```
这个程序会输出以下内容:
```
2 4 6 8 10 12 14 16 18 20
```
这说明程序正确地将 vector 对象中的所有元素的值都变成了原来的两倍。
相关问题
编写一段程序,创建一个含有 10 个整数的 vector 对象,然后使用迭代器将 所有元素的值都变成原来的两倍。输出 vector 对象的内容,检验程序是否正确。
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec(10); // 创建含有10个整数的vector对象
for (int i = 0; i < 10; i++) {
vec[i] = i + 1; // 为vector对象赋初值
}
// 使用迭代器将所有元素的值都变成原来的两倍
for (auto it = vec.begin(); it != vec.end(); it++) {
*it *= 2;
}
// 输出vector对象的内容
for (auto x : vec) {
cout << x << " ";
}
cout << endl;
return 0;
}
```
输出结果为:`2 4 6 8 10 12 14 16 18 20`。可以看出程序执行正确。
使用指针编写一个程序,输入10个整数存入数组,将数组元素逆置后输出
以下是使用指针编写的程序,输入10个整数存入数组,将数组元素逆置后输出:
```c
#include <stdio.h>
int main()
{
int arr[10], *p = arr, temp;
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++)
{
scanf("%d", p + i);
}
for (int i = 0; i < 5; i++)
{
temp = *(p + i);
*(p + i) = *(p + 9 - i);
*(p + 9 - i) = temp;
}
printf("逆置后的数组为:\n");
for (int i = 0; i < 10; i++)
{
printf("%d ", *(p + i));
}
return 0;
}
```
程序中定义了一个整型数组`arr`和一个指向`arr`的指针`p`,通过循环输入10个整数存入数组中。然后,通过循环将数组元素逆置,最后再通过循环输出逆置后的数组元素。
在逆置数组元素的循环中,使用了一个临时变量`temp`来交换数组元素的值,具体操作是将第`i`个元素的值赋给`temp`,然后将第`i`个元素的值赋为第`10-i`个元素的值,最后将第`10-i`个元素的值赋为`temp`的值。这样就完成了数组元素的逆置。