创建打印功能以显示原始数组和更新的数组

时间:2014-01-29 14:51:44

标签: c++ arrays function loops

我试图找出如何让print函数同时显示一个原始数组(我已经显示了原始数组)和一个更新的数组。我学习c ++的正确语法很慢,所以我倾向于忘记细节。我试图让我的程序显示一个新的值列表,如:

新的值列表: 4.0,2.0 3.0 1.0

使用我的swapFirstLast(double a[], int n)功能后。它应该应该将第一个值与它们的数组的最后一个值交换。原始列表显示1.0 2.0 3.0 4.0作为原始值。

所以最后它应该是:

值列表: 1.0 2.0 3.0 4.0

新的值列表: 4.0 3.0 2.0 1.0

以及中位数,但我试图在我自己解决之前直到我绝对需要帮助(我发布问题的原因)。谢谢你的时间。

#include <iostream>
#include<iomanip>
using namespace std;



int main()
{ int i, count=0;
  double scores [10];
  double value;
  double sum=0.0;



cout << "Author: \n";

    cout<< fixed << showpoint <<setprecision(1);//

    cout<<"Input -1.0 when you are ready to stop."<<endl;
    cout<<"Input a value: ";

    cin>>value;

    while( value!= -1.0 && count<10)
        { scores [count] = value;
          count = count +1;

         cout<<"Input a value: ";
         cin>> value;

            }

    cout<<"\nYou entered "<<count<<" values"<<endl;


    for (i=0; i<count; i++)
    { cout<<setw(6)<< scores[i];
      sum+=scores[i];


    }
    cout<<"\n\nThe average of the values is:"<<sum/count<<endl;





    return 0;

}

void swapFirstLast(double a[], int n)
    { double temp;
        temp= a[0];
        a[0] = a[n-1];
        a[n-1]=temp;

}

void print( double a[], int n,double temp, int main())

    { double value;
        cout<<"The list of values: "<<value<<endl;
        cout<<"The new list of values: "<<temp<<endl;


}

1 个答案:

答案 0 :(得分:0)

您已经拥有输出数组的代码。只排除和的计算

for (i=0; i<count; i++)
    { cout<<setw(6)<< scores[i];
      sum+=scores[i];
}

您可以将此代码放在函数

void print( const double a[], int n )
{
   for ( int i = 0; i < n; i++ )
   {
      cout << setw(6) << a[i];
   }
   cout << endl;
}

除了打印之外,您不应该在此函数中包含执行其他任务的其他代码。

首先,您将调用该函数打印出原始数组。然后你将调用你的交换函数,然后再次调用函数print来打印出更改过的数组。