2014-01-29 11 views
0

我想弄清楚如何讓打印功能同時顯示原始數組(我已經有原始數組顯示)和更新的數組。我在學習C++的正確語法方面很慢,所以我傾向於忘記小細節。我試圖讓我的程序顯示的值,如一個新的列表:用我的swapFirstLast(double a[], int n)功能後 4.0 2.0 3.0 1.0創建打印功能來顯示原始數組和更新陣列

值的新名單。它應該假設將第一個值與它們的最後一個值進行交換。原始列表顯示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

目前尚不清楚你想要做什麼。如果您需要同時顯示新舊值,爲什麼不在更新前後顯示? –

+1

或者在更新之前製作數組的副本,並使用它來打印以前的版本(儘管我會推薦@n.m.的方法,如果這樣做的話)。 –

+0

在你的代碼中加入了一些註釋,並且確切地說明你想要做什麼 – professorfish

回答

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來打印出已更改的數組。