Advertisement
daniil_mironoff

Fucking Matrix

Mar 11th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int main() {
  6.     // Ввод размера матрицы
  7.     int matrix_size;
  8.     cout << "Введите размер (квадратной) матрицы: ";
  9.     cin >> matrix_size;
  10.     cout << endl;
  11.    
  12.     int ** matrix = new int * [matrix_size];
  13.    
  14.     // Ввод элементов матрицы
  15.     for (int i = 0; i < matrix_size; i++) {
  16.         matrix[i] = new int [matrix_size];
  17.        
  18.         for (int j = 0; j < matrix_size; j++) {
  19.             cout << "Введите число для " << i + 1 << " строки " << j + 1 << " столбца: ";
  20.             cin >> matrix[i][j];
  21.         }
  22.         cout << endl;
  23.     }
  24.    
  25.     // Вывод матрицы
  26.     cout << "Получилось матрица:" << endl;
  27.     for (int i = 0; i < matrix_size; i++) {
  28.         for (int j = 0; j < matrix_size; j++) {
  29.             cout << matrix[i][j] << " ";
  30.         }
  31.         cout << endl;
  32.     }
  33.     cout << endl;
  34.    
  35.     // Нахождение среднего арифметрического неотрицательных
  36.     // элементов матрицы и подсчет таких элементов
  37.     // в каждой строке матрицы
  38.     int sum = 0;
  39.    
  40.     int * positive_numbers = new int [matrix_size + 1];
  41.     positive_numbers[matrix_size + 1] = 0;
  42.    
  43.     for (int i = 0; i < matrix_size; i++) {
  44.         positive_numbers[i] = 0;
  45.        
  46.         for (int j = 0; j < matrix_size; j++) {
  47.             if (matrix[i][j] >= 0) {
  48.                 sum += matrix[i][j];
  49.                 positive_numbers[i]++;
  50.                 positive_numbers[matrix_size + 1]++;
  51.             }
  52.         }
  53.     }
  54.    
  55.     double res = (double) sum / positive_numbers[matrix_size + 1];
  56.    
  57.     cout << "Среднее арифметическое неотрицательных элементов матрицы: " << res << endl;
  58.     for (int i = 0; i < matrix_size; i++) {
  59.         cout << "Количество неотрицательных чисел в строке " << i + 1 << ": " << positive_numbers[i] << endl;
  60.     }
  61.    
  62.     // Запись в файл
  63.     ofstream out;
  64.     out.open("file.txt");
  65.     if (out.is_open()) {
  66.         out << "Среднее арифметическое неотрицательных элементов матрицы: " << res << endl;
  67.         for (int i = 0; i < matrix_size; i++) {
  68.             out << "Количество неотрицательных чисел в строке " << i + 1 << ": " << positive_numbers[i] << endl;
  69.         }
  70.     }
  71.    
  72.     cout << "Информация записана в файл" << endl << "Программа завершена." << endl;
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement