读下列程序,该程序生成有10个整数的安全数组。要把值放入数组中,使用put()函数;然后取出该值,使用get()函数;put()和get()中若遇下标越界则立刻终止程序运行。其运行结果为后面所示,请完成两个未写出的函数定义。 #include<iostream> using namespace std; int& put(int n); //put value into the array int get(int n); //obtain a value from the array int vals[10]; int error=-1; int main() { put(0)=10; //put values into the array put(1)=20; put(9)=30; cout<<get(0)<<endl; cout<<get(1)<<endl; cout<<get(9)<<endl; put(12)=1; //out of range return 0; } 运行结果要求为: 10 20 30 range error
时间: 2023-07-04 13:12:51 浏览: 152
基于C++,写一个程序 要求用户输入10个数据到数组中,然后将数组中最大值和最小值显示出来,并显示下标
以下是程序代码:
```c++
#include <iostream>
using namespace std;
int& put(int n); // put value into the array
int get(int n); // obtain a value from the array
int vals[10];
int error = -1;
int main() {
put(0) = 10;
put(1) = 20;
put(9) = 30;
cout << get(0) << endl;
cout << get(1) << endl;
cout << get(9) << endl;
put(12) = 1;
return 0;
}
int& put(int n) {
if (n < 0 || n >= 10) {
cout << "range error" << endl;
exit(1);
}
return vals[n];
}
int get(int n) {
if (n < 0 || n >= 10) {
cout << "range error" << endl;
exit(1);
}
return vals[n];
}
```
函数 `put()` 和 `get()` 的定义如下:
```c++
int& put(int n) {
if (n < 0 || n >= 10) {
cout << "range error" << endl;
exit(1);
}
return vals[n];
}
int get(int n) {
if (n < 0 || n >= 10) {
cout << "range error" << endl;
exit(1);
}
return vals[n];
}
```
`put()` 函数返回指向数组中指定下标位置的引用,如果下标越界则输出错误信息并退出程序。`get()` 函数返回数组指定下标位置的值,如果下标越界则输出错误信息并退出程序。在 `main()` 函数中,使用 `put()` 函数将数值放入数组,并使用 `get()` 函数获取数组中的数值,最后试图访问超出数组范围的下标,引发 `range error` 错误。
阅读全文