Advertisement
Godfried

Untitled

Dec 9th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.44 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5.  
  6. float* Average(int** matrix, int n);
  7. void AverageOutput(float* Arr);
  8. void outputMatrix(int** matrix, int n);
  9. void saveResult(string result);
  10.  
  11. int main()
  12. {
  13.     setlocale(LC_ALL, "Russian");
  14.     int n;
  15.     int** a;
  16.     bool FirstIt = true;
  17.     bool SecondIt = true;
  18.     bool TrirdIt = true;
  19.     ifstream in("findmax.txt");
  20.  
  21.     if (in.is_open())
  22.     {
  23.         try
  24.         {
  25.             if (!in.eof())
  26.             {
  27.                 in >> n;
  28.             }
  29.             else
  30.             {
  31.                 cout << "Ошибка при чтении!Проверьте правильность текстового файла." << endl;
  32.                 FirstIt = false;
  33.             }
  34.             a = new int* [n];
  35.             for (int i = 0; i < n; i++)
  36.             {
  37.                 a[i] = new int[n];
  38.             }
  39.  
  40.             for (int i = 0; i < n; i++)
  41.             {
  42.                 for (int j = 0; j < n; j++)
  43.                 {
  44.                     if (!in.eof())
  45.                     {
  46.                         in >> a[i][j];
  47.                     }
  48.                     else
  49.                     {
  50.                         cout << "Ошибка при чтении матрицы!Проверьте правильность ее написания" << endl;
  51.                         SecondIt = false;
  52.                     }
  53.                 }
  54.             }
  55.         }
  56.         catch (int)
  57.         {
  58.             cout << "Ошибка чтения из файла" << endl;
  59.             exit(1);
  60.         }
  61.         in.close();
  62.     }
  63.     else
  64.     {
  65.         cout << "Ошибка. Проблема при открытии файла!" << endl;
  66.         TrirdIt = false;
  67.     }
  68.  
  69.     return 0;
  70. }
  71.  
  72. float* Average(int** Matrixx, int n)
  73. {
  74.     float Sum, Amount;
  75.     float* Arr = new float[n];
  76.     for (int i = 0; i < n; i++) {
  77.         Sum = 0;
  78.         Amount = 0;
  79.         for (int j = 0; j < n; j++) {
  80.             if (Matrixx[j][i] > 0) {
  81.                 Sum += Matrixx[j][i];
  82.                 Amount += 1;
  83.             }
  84.             Arr[i] = Sum / Amount;
  85.         }
  86.     }
  87.     return Arr;
  88. }
  89.  
  90. void AverageOutput(float* Arr) {
  91.     for (int i = 0; i < sizeof(Arr); i++) {
  92.         printf("%.4f ", Arr[i]);
  93.     }
  94. }
  95.  
  96.  
  97. void saveResult(string result)
  98. {
  99.     bool AttemptOne = true;
  100.     bool AttemptTwo = true;
  101.     try
  102.     {
  103.         ofstream output;
  104.         output.open("max.txt");
  105.         if (output.is_open())
  106.         {
  107.             output << result;
  108.             output.close();
  109.         }
  110.         else
  111.         {
  112.             cout << "Ошибка. Проблема при записи результата!" << endl;
  113.             AttemptOne = false;
  114.         }
  115.     }
  116.     catch (ios_base::failure & f1)
  117.     {
  118.         cout << "Ошибка. Проблема при записи результата!" << endl;
  119.         AttemptTwo = false;
  120.     }
  121. }
  122.  
  123. void outputMatrix(int** matrix, int n)
  124. {
  125.     for (int i = 0; i < n; i++)
  126.     {
  127.         for (int j = 0; j < n; j++)
  128.         {
  129.             cout << matrix[i][j] << "\t";
  130.         }
  131.         cout << "\n";
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement