c++ primer plus 第七章-编程题7.13.6《Fill_array,Show_array,Reverse_array》

/*
 Enter a double number: 1 2 3 4 5 q
 Input 5 number to d[dSzie].
 all d[0] ~ d[10]:
 1 2 3 4 5 all d[0] ~ d[10]:
 5 4 3 2 1
 */
#include <iostream>
#include <array>
#include <vector>

using namespace std;
const int dSize =10;

int Fill_array(array<double, dSize> *);
void Show_array(array<double, dSize> *,int);
void Reverse_array(array<double, dSize> *,int);

int main() {
    array<double, dSize> d;
    int count = Fill_array(&d);
    cout << "Input " << count << " number to d[dSzie]." << endl;
    Show_array(&d, count);
    Reverse_array(&d, count);
    Show_array(&d, count);
}

int Fill_array(array<double, dSize> * pd) {
    int i = 0, count =0;

    cout << "Enter a double number: ";
    while (i < dSize){
        if (cin >> (*pd)[i]) {
            count++;
            i++;
        }
        else
            break;
    }

    return count;
}

void Show_array(array<double, dSize> * pd,int count) {
    int i = 0;
    cout << "all d[" << i << "]" << " ~ d[" << dSize << "]:\n";
    while (i < count) {
        cout << (*pd)[i++] << " ";
    }
    cout << "\n";
}

void Reverse_array(array<double, dSize> * pd,int count) {
    int end = count - 1, start = 0;
    double tmp;

    while (start != end) {
        tmp = (*pd)[start];
        (*pd)[start] = (*pd)[end];
        (*pd)[end] = tmp;
        start++;
        end--;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值