/
LavrGov
/
client_for_vm_lib
Обзор
Документация
Войти
/
LavrGov
/
client_for_vm_lib
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main.cpp
93 строки
2 KB
Lavrentiy
Исправления
04 июн 2025, 15:11
04 июн 2025, 15:11
817d08b
Код
Авторство
О чём код?
#include "grad_spusk.h" #include "cor_desent.h" #include "gaus_z.h" #include "scanirovan.h" #include "yakob.h" #include "rk_4.h" #include "rk.h" #include <math.h> #include <stdio.h> #include <vector> #include <iostream> int GausZData() { char ** fileNames = new char*[3]; *fileNames = new char[100]; *(fileNames + 1) = new char [100]; *(fileNames + 2) = new char [100]; //sprintf(*fileNames, ) //sprintf(fileBaseName, "compl_file_"); int fileSize [1] {100}; //int index = 0; for (int size: fileSize) { sprintf(*(fileNames), "../dir_for_test/matrixA%d.txt", size); sprintf(*(fileNames + 1), "../dir_for_test/matrixB%d.txt",size); sprintf(*(fileNames + 2), "../dir_for_test/gaus_result%d.txt", size); GausZeyd<double>(size, fileNames, 0.00001); //YakobiC(size, fileNames); //printf("%s\n", *fileNames); //YakobiR<complex<double>>(size, fileNames); memset(*fileNames, 0, 30*sizeof(char)); memset(*(fileNames + 1), 0, 30*sizeof(char)); memset(*(fileNames + 2), 0, 30*sizeof(char)); //index++; } for (char ** start = fileNames; start != fileNames + 3; ++start) { //cout << "start" << endl; delete [] *start; //cout << "end" << endl; } delete [] fileNames; return 0; } double myFunc(double x1, double x2) { return 6.2*x1 -0.9*x2+exp(0.36*x1*x1+0.16*x2*x2); } double myFuncVect(std::vector<double> & values) { return myFunc(values[0], values[1]); } int yakob() { char **allFiles = new char * [3]; *allFiles = new char [30]; *(allFiles + 1) = new char [30]; *(allFiles + 2) = new char [30]; int matrixsize[1] = {100}; //char fileBaseName [30]; //sprintf(fileBaseName, "") int index = 0; for (int size : matrixsize) { sprintf(*(allFiles), "../dir_for_test/matrixA%d.txt", size); sprintf(*(allFiles + 1), "../dir_for_test/matrixB%d.txt",size); sprintf(*(allFiles + 2), "../dir_for_test/ya_result%d.txt", size); clock_t start = clock(); YakobiR<double>(size, allFiles); std::cout << "Time: " << size << " " << (double)(clock() - start) / CLOCKS_PER_SEC << std::endl; memset(*allFiles, 0, 30); memset(*(allFiles + 1), 0, 30*sizeof(char)); memset(*(allFiles + 2), 0, 30); } for (char ** start = allFiles; start != allFiles + 3; ++start) { delete [] *start; } delete [] allFiles; return 0; } int test_rk_2() { } int main() { grad_spusk(myFunc, 5.0, 5.0, 0.0001, 0.000001, -1,5); std::vector<double> start_var {0,0}; cor_des(myFuncVect, start_var, 0.00001); GausZData(); int ans_ya = yakob(); return 0; }