Advertisement
Pohuyumer

LAB 2.4 MAIN

Jun 4th, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.66 KB | None | 0 0
  1. /*23. Для заданного одномерного массива Z из N элементов найти сумму выражений, вычисляемых по формуле  .
  2. В рекурсивной функции каждый раз отделять первый элемент рассматриваемой части массива от остальных ее элементов
  3. и суммировать с вычисляемым с помощью этой же функции суммой остальных элементов рассматриваемой части массива.
  4. Рекурсивные вызовы заканчивать, когда останется только один элемент в рассматриваемой части.
  5. */
  6. #include "Header.h"
  7.  
  8. int main(int argc, char* argv[]) {
  9.     int n;
  10.  
  11.     SetConsoleOutputCP(1251);               // русификация
  12.  
  13.     if (argc < 3) {                         // три параметра: путь+имя запущенного файла, текстовый и бинарный файлы
  14.         printf("Мало параметров\nPress any key");
  15.         return 1;
  16.     }
  17.  
  18.     FILE* fin = fopen(argv[1], "rt");       // открытие текстового файла для чтения
  19.     if (fin == NULL) {
  20.         printf("Error: не удалось открыть файл с исходными данными %s\n", argv[2]);
  21.         printf("Press any key ");
  22.         return 1;
  23.     }
  24.  
  25.     FILE* fout = fopen(argv[2], "wt");      // открытие текстового файла для записи с созданием
  26.     if (fout == NULL) {
  27.         fclose(fin);            // закрытие текстового файла, из которого считывается информация
  28.         printf("Error: не удалось создать двоичный файл %s\n", argv[1]);
  29.         printf("Press any key");
  30.         return 1;
  31.     }
  32.  
  33.     input_n(n, fin, fout);      // считывание размера динамического массива
  34.     int* mass = new int[n];     // выделение памяти под динамический массив
  35.     input_mass(mass, n, fin);   // ввод динамического массива
  36.     output_mass(fout, n, mass); // вывод динамического массива
  37.     fclose(fin);                // закрытие текстового файла, из которого считывается информация
  38.     fprintf(fout, "\nРезультат вычисления формулы: %d.\n", sum(mass, 1, n));
  39.  
  40.     delete[] mass;              // освобождение памяти
  41.     fclose(fout);               // закрытие текстового файла, в который записывается
  42.  
  43.     printf("Press any key...");
  44.  
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement