Chap4ev

Untitled

Jan 19th, 2021 (edited)
1,095
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. /*вычислить значение выражения Амин * Вмин - Смин,
  7. где мин это минимальные значения среди положительных элементов двумерных массивов*/
  8.  
  9. void input_array(double**& array, int& n, int& m, const string& array_name, istream& stream) {
  10.     stream >> n;
  11.     stream >> m;
  12.     if (n < 0 || m < 0) {
  13.         cout << "неверный ввод" << endl;
  14.         exit(1);
  15.     }
  16.     cout << "Reading an array " << array_name << " from file" << endl;
  17.     array = new double* [n];
  18.     for (int i = 0; i < n; ++i)
  19.         array[i] = new double[m];
  20.  
  21.     for (int i = 0; i < n; i++) {
  22.         for (int j = 0; j < m; j++) {
  23.             stream >> array[i][j];
  24.         }
  25.     }
  26. }
  27.  
  28.  
  29. double find_min_element(double** array, int& n, int& m) {
  30.     double min = array[0][0];
  31.     for (int i = 0; i < n; ++i) {
  32.         for (int j = 0; j < m; j++) {
  33.             if (array[i][j] >= 0 && array[i][j] < min) {
  34.                 min = array[i][j];
  35.             }
  36.         }
  37.     }
  38.     return min;
  39. }
  40.  
  41.  
  42. int main() {
  43.     string filename = "E:\\Programming\\nti\\cpp\\tmp\\input.txt";
  44.     fstream inFile;
  45.     int n, m;
  46.     double** A, ** B, ** C;
  47.     inFile.open(filename);
  48.  
  49.     if (!inFile.is_open()) {
  50.         cout << "Could not open the file " << filename << endl;
  51.         cout << "Program terminating.\n";
  52.         exit(1);
  53.     }
  54.  
  55.     input_array(A, n, m, "A", inFile);
  56.     double min_a = find_min_element(A,n, m);
  57.  
  58.     input_array(B, n, m, "B", inFile);
  59.     double min_b = find_min_element(B, n, m);
  60.  
  61.     input_array(C, n, m, "C", inFile);
  62.     double min_c = find_min_element(C, n, m);
  63.  
  64.     filename = "E:\\Programming\\nti\\cpp\\tmp\\output.txt";
  65.  
  66.     ofstream outFile(filename);
  67.     if (!outFile.is_open()){
  68.         cout << "Could not open output file" << endl;
  69.         exit(3);
  70.     }
  71.  
  72.     outFile << (min_a * min_b) - min_c << endl;
  73.     return 0;
  74. }
  75.  
Add Comment
Please, Sign In to add comment