Advertisement
silicogel

Untitled

Apr 25th, 2024
433
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.65 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3. #include <complex>
  4.  
  5. using namespace std;
  6.  
  7. void createReal(int sizes[], int n) {
  8.     char filenameA[256], filenameB[256];
  9.     int N;
  10.  
  11.     for (int i = 0; i < n; i++) {
  12.         N = sizes[i];
  13.         sprintf_s(filenameA, "matrixA%d.txt", N);
  14.         sprintf_s(filenameB, "matrixB%d.txt", N);
  15.         ofstream matrixA(filenameA);
  16.         ofstream matrixB(filenameB);
  17.         if (!matrixA.is_open() || !matrixB.is_open()) {
  18.             cout << "Ошибка записи в файл" << endl;
  19.             return;
  20.         }
  21.         double* matrA = new double[N];
  22.         double* matrB = new double[N];
  23.         for (int i = 0; i < N; i++) {
  24.             double sum = 0.0;
  25.             for (int j = 0; j < N; j++) {
  26.                 matrA[j] = rand() % 100;
  27.                 sum += matrA[j];
  28.             }
  29.             matrA[i] = sum + 1.0;
  30.             for (int j = 0; j < N; j++) {
  31.                 matrixA << matrA[j] << "\t";
  32.             }
  33.             matrixA << endl;
  34.             matrB[i] = rand() % 100;
  35.             matrB[i] = rand() % 100;
  36.             matrixB << matrB[i] << "\t";
  37.         }
  38.         matrixA.close();
  39.         matrixB.close();
  40.         delete[] matrA;
  41.         delete[] matrB;
  42.     }
  43. }
  44.  
  45. void createComplex(int sizes[], int n) {
  46.     char filenameA[256], filenameB[256];
  47.     int N;
  48.  
  49.     for (int i = 0; i < n; i++) {
  50.         N = sizes[i];
  51.         sprintf_s(filenameA, "matrixAComplex%d.txt", N);
  52.         sprintf_s(filenameB, "matrixBComplex%d.txt", N);
  53.         ofstream matrixA(filenameA);
  54.         ofstream matrixB(filenameB);
  55.         if (!matrixA.is_open() || !matrixB.is_open()) {
  56.             cout << "Ошибка записи в файл" << endl;
  57.             return;
  58.         }
  59.         complex<double>* matrA = new complex<double>[N];
  60.         complex<double>* matrB = new complex<double>[N];
  61.         for (int i = 0; i < N; i++) {
  62.             complex<double> sum = 0.0;
  63.             for (int j = 0; j < N; j++) {
  64.                 matrA[j].real(rand() % 100);
  65.                 matrA[j].imag(rand() % 100);
  66.                 sum += matrA[j];
  67.             }
  68.             matrA[i] = sum + 1.0;
  69.             for (int j = 0; j < N; j++) {
  70.                 matrixA << matrA[j] << "\t";
  71.             }
  72.             matrixA << endl;
  73.             matrB[i].real(rand() % 100);
  74.             matrB[i].imag(rand() % 100);
  75.             matrixB << matrB[i] << "\t";
  76.         }
  77.         matrixA.close();
  78.         matrixB.close();
  79.         delete[] matrA;
  80.         delete[] matrB;
  81.     }
  82. }
  83.  
  84. int main()
  85. {
  86.     int matrixsize[3] = { 100, 250, 500 };
  87.    
  88.     createReal(matrixsize, 3);
  89.     createComplex(matrixsize, 3);
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement