Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- // Функция-шаблон для заполнения динамического массива.
- template <typename T>
- void arr(T **a, int n, int m)
- {
- for (int i = 0; i < n; i++)
- for (int j = 0; j < m; j++)
- {
- cout << "[" << i << "][" << j << "]=";
- cin >> a[i][j];
- }
- }
- //Функция-шаблон для подщеста среднего арифметического отрицательных чисел.
- template <typename T>
- void mid(T **array, int n, int m)
- {
- /* а - переменная показывающая кол-во отрицательных элементов.
- S - переменная являющаяся суммой отрицательных элементов.
- d - переменная которая находит среднее арифметическое.
- */
- int a = 0;
- double S = 0;
- double d;
- // цикл обхода матрицы для нахождения отрицательного элемента.
- for (int i = 0; i < n; i++)
- for (int j = 0; j < m; j++)
- {
- S += array[i][j];
- a++;
- }
- d = S/a;
- // Условие, которое проверяет "Есть ли вообще отрицательные элементы".
- if (a>0) cout << d;
- else cout << "Errors";
- }
- int main()
- {
- // переменные для указания кол-ва строк и столбцов.
- int n,m;
- cin >> n >> m;
- //инициализация двумерного массива (матрицы).
- int **a = new int *[n];
- for (int i = 0; i < n; i++)
- a[i] = new int [m];
- // arr - Функция заполнения массива.
- arr(a,n,m);
- // цикл вывода массива на экран, для проверки ввода.
- for (int i=0; i<n; i++)
- {
- for (int j=0; j<m; j++)
- {
- cout << a[i][j] << " ";
- }
- cout << endl;
- }
- // Функция для вывода среднего арифметического.
- mid(a,n,m);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement