Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- /*вычислить значение выражения Амин * Вмин - Смин,
- где мин это минимальные значения среди положительных элементов двумерных массивов*/
- void input_array(double**& array, int& n, int& m, const string& array_name, istream& stream) {
- stream >> n;
- stream >> m;
- if (n < 0 || m < 0) {
- cout << "неверный ввод" << endl;
- exit(1);
- }
- cout << "Reading an array " << array_name << " from file" << endl;
- array = new double* [n];
- for (int i = 0; i < n; ++i)
- array[i] = new double[m];
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- stream >> array[i][j];
- }
- }
- }
- double find_min_element(double** array, int& n, int& m) {
- double min = array[0][0];
- for (int i = 0; i < n; ++i) {
- for (int j = 0; j < m; j++) {
- if (array[i][j] >= 0 && array[i][j] < min) {
- min = array[i][j];
- }
- }
- }
- return min;
- }
- int main() {
- string filename = "E:\\Programming\\nti\\cpp\\tmp\\input.txt";
- fstream inFile;
- int n, m;
- double** A, ** B, ** C;
- inFile.open(filename);
- if (!inFile.is_open()) {
- cout << "Could not open the file " << filename << endl;
- cout << "Program terminating.\n";
- exit(1);
- }
- input_array(A, n, m, "A", inFile);
- double min_a = find_min_element(A,n, m);
- input_array(B, n, m, "B", inFile);
- double min_b = find_min_element(B, n, m);
- input_array(C, n, m, "C", inFile);
- double min_c = find_min_element(C, n, m);
- filename = "E:\\Programming\\nti\\cpp\\tmp\\output.txt";
- ofstream outFile(filename);
- if (!outFile.is_open()){
- cout << "Could not open output file" << endl;
- exit(3);
- }
- outFile << (min_a * min_b) - min_c << endl;
- return 0;
- }
Add Comment
Please, Sign In to add comment