1. 程式人生 > >設有一數列,包含10 個數,已按升序排好。

設有一數列,包含10 個數,已按升序排好。

設有一數列,包含10 個數,已按升序排好。現要求編一程式,它能夠把從指定位置開始的n個數按逆序重新排列並輸出新的完整數列。進行逆序處理時要求使用指標方法(例如:原數列為2468101214161820,若要求把從第4個數開始的5個數按逆序重新排列,則得到新數列為2461614121081820。)

#include <iostream.h>

void  method(int n,int m,int *a)

{

    int *p=a,*q=new int[m];

 

    p=p+n-1;

    for(int i=0;i<m;i++)

    {

 q[i]=*p;

 p++;

    }

    p=p-m;

    for(i=0;i<m;i++)

    {

 *p=q[m-1-i];

 p++;

    }

}

int main()

{

    inta[10]={2,4,6,8,10,12,14,16,18,20};

    method(4,5,a);

    for(int i=0;i<10;i++)

    {

 cout<<a[i]<<' ';

    }

    return 0;

}