Написать функцию, добавляющую в конец списка вещественных чисел элемент, значение которого равно среднему арифметическому всех его элементов.
#include < iostream > #include < list > using namespace std; void g ( list <double> &lst ) { list < double > :: const_iterator p = lst.begin (); double s ( 0 ); int n; while ( p != lst.end () ) { s = s + *p; ++n; ++p; } if ( n != 0 ) lst.push_back ( s/n ); // lst.push_back ( s/lst.size() ); }
Написать функцию, формирующую по заданному вектору целых чисел список из элементов вектора с четными значениями и распечатывающую его.
#include < iostream > #include < vector > #include < list > using namespace std; void g ( vector <int> &v, list <int> &lst ) { int i; for ( i = 0; i < v.size(); ++i ) if ( !(v[i] % 2) ) lst.push_back ( v[i] ); list < int > :: const_iterator p = lst.begin (); while ( p != lst.end () ) { cout << *p << endl; ++p; } } int main () { vector < int > v(20); list < int > lst; int i; for ( i = 0; i < 20; ++i ) v[i] = i; cout << "vector is created" << endl; g ( v, lst ); return 0; }
Написать функцию, формирующую по заданному списку целых чисел вектор из элементов списка с четными значениями и распечатывающую его.
#include < iostream > #include < vector > #include < list > using namespace std; void g ( vector <int> &v, list <int> &lst ) { list < int > :: const_iterator p = lst.begin (); while ( p != lst.end () ) { if ( !(*p % 2) ) v.push_back(*p); ++p; } for ( int i = 0; i < v.size(); ++i ) cout << v[i] << endl; } int main () { vector < int > v ( 20 ); list < int > lst; for ( i = 0; i < 20; ++i ) lst.push_back ( i ); cout << "list is created" << endl; g (v, lst); return 0; }