Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "stdafx.h"
- #include <iostream>
- #include <ctime>
- using namespace std;
- /*
- *-----------------------------------------------------------------
- * ф-ция вывода массива на экран
- * параматры:
- * arr - массив вещественных чисел чисел
- * CountElements - количество элементов массива (размер массива)
- *-----------------------------------------------------------------
- */
- void PrintArray(double *arr, int CountElements)
- {
- for(int i = 0; i < CountElements; i++)
- cout << arr[i] << '\t';
- cout << endl;
- }
- /*
- *-----------------------------------------------------------------
- * ф-ция заполнения массива случайными числами в диапазоне -50..50
- * параматры:
- * arr - массив вещественных чисел чисел
- * CountElements - количество элементов массива (размер массива)
- *-----------------------------------------------------------------
- */
- void InputArray(double *arr, int CountElements)
- {
- for(int i = 0; i < CountElements; i++)
- arr[i] = rand() % 101 - 50; // [-50..50]
- }
- /*
- *-----------------------------------------------------------------
- * ф-ция замены элементов массива
- * параматры:
- * arr - массив вещественных чисел чисел
- * CountElements - количество элементов массива (размер массива)
- *-----------------------------------------------------------------
- */
- // double & avg передача по сcылке , можно сделать через указатель заменить & на *
- int ChangeElements(double *arr, int CountElements, double & avg)
- {
- double sum = 0; // переменная для суммы
- for(int i = 0; i < CountElements; i++) sum += arr[i]; // считаем сумму всех элементов
- avg = sum / CountElements; // вычисляем среднее массива
- int count_change_elements = 0; // количество элементов в которых была замена на ноль
- for(int i = 0; i < CountElements; i++)
- if(arr[i] > avg) { // если элемент больше среднего делаем замену на ноль
- arr[i] = 0; // замена на ноль
- ++count_change_elements; // увеличываем счетчик элементов
- }
- return count_change_elements; // ф-ция возвращает количество элементов
- }
- int main()
- {
- setlocale(LC_ALL,"Rus");
- srand(time((unsigned int)0)); // чтобы постоянно были разные числа в массиве, unsigned int можно убрать
- const int SIZE_ARRAY = 10; // размер массива:)
- double arr[SIZE_ARRAY]; // массив вещественных чисел можно сменить на int
- InputArray(arr,SIZE_ARRAY); // заполнение
- PrintArray(arr,SIZE_ARRAY); // вывод на экран
- double avg = 0;
- double kol = ChangeElements(arr,SIZE_ARRAY,avg);
- cout << endl << "Среднее массива = " << avg << endl;
- cout << "Количество замен = " << kol << endl; // замена
- PrintArray(arr,SIZE_ARRAY); // вывод массива с заменами на экран
- // для задержки окна можно использовать getch()
- cin.get();
- cin.get();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement