2014-01-29 3 views
0

Я пытаюсь выяснить, как получить функцию печати для отображения исходного массива (у меня уже есть исходный массив) и обновленного массива в одно и то же время. Я медленно изучаю правильный синтаксис 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

Непонятно, что вы пытаетесь сделать. Если вам нужны как старые, так и новые значения, почему бы не отображать до и после обновления? –

+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, чтобы распечатать измененный массив.

Смежные вопросы