Виктор Л.
Победившая ставка- Проекты 23
- Оценка -
- Рейтинг 1 275
Бюджет: 600 RUB Срок: 1 день
Здравствуйте, Влад.
Перепешу код и сделаю даже немного оптимизации, если пожелаете.
Обращайтесь
Ставки скрыты
Ставки пока отсутствуют
-
Андрій Федорко 26 мая 2020Любой С-шный код уже компилириуется на С++. Плюсы принесли з собой новые функции, и аналоги для уже существущих. Если вы уверены что перевод вам действительно нужно, то скиньте пожалуйста код.
Писал на чистом С, люблю математику. С задачей справлюсь. -
Vlad Sandberg
26 мая 2020
Вот программа на C:
//Cubic spline interpolation program //when we have two columns of data x and y in input file: // //x0 y0 //x1 y1 //... //xn yn // //and we want to find such function f(x) //where f(xi) = yi //and f(x) is cubic function on every [x_k-1, x_k] segment //and f(x), f'(x), f''(x) are continual //the result is four columns of cubic polinom coefficients #include <math.h> #include <stdio.h> #include <process.h> float *x, *y, *h, *l, *delta, *lambda, *c, *d, *b; int N; char filename[256]; FILE* InFile=NULL; void count_num_lines(){ //count number of lines in input file - number of equations int nelf=0; //non empty line flag do{ nelf = 0; while(fgetc(InFile)!='\n' && !feof(InFile)) nelf=1; if(nelf) N++; }while(!feof(InFile)); N--; } void readmatrix(){ int i=0; //read matrixes a and b from input file for(i=0; i<N+1; i++){ fscanf(InFile, "%f", &x[i]); fscanf(InFile, "%f", &y[i]); } } void allocmatrix(){ //allocate memory for matrixes x = new float[N+1]; y = new float[N+1]; h = new float[N+1]; l = new float[N+1]; delta = new float[N+1]; lambda = new float[N+1]; c = new float[N+1]; d = new float[N+1]; b = new float[N+1]; } void freematrix(){ delete [] x; delete [] y; delete [] h; delete [] l; delete [] delta; delete [] lambda; delete [] c; delete [] d; delete [] b; } void printresult(){ int k=0; printf("\nA[k]\tB[k]\tC[k]\tD[k]\n"); for(k=1; k<=N; k++){ printf("%f\t%f\t%f\t%f\n", y[k], b[k], c[k], d[k]); } } void testresult(){ float start = x[0]; float end = x[N]; float step = (end - start)/20; FILE* OutFile = fopen("test.txt", "wt"); for(float s = start; s<=end; s+= step){ //find k, where s in [x_k-1; x_k] for(int k=1; k<=N; k++){ if(s>=x[k-1] && s<=x[k]){ break; } } float F = y[k] + b[k]*(s-x[k]) + c[k]*pow(s-x[k], 2) + d[k]*pow(s-x[k], 3); fprintf(OutFile, "%f\t%f\n", s, F); } fclose(OutFile); } void cls(){ for(int i=0; i<25; i++) printf("\n"); } void main(){ int k=0; cls(); do{ printf("\nInput filename: "); scanf("%s", filename); InFile = fopen(filename, "rt"); }while(InFile==NULL); count_num_lines(); rewind(InFile); allocmatrix(); readmatrix(); for(k=1; k<=N; k++){ h[k] = x[k] - x[k-1]; if(h[k]==0){ printf("\nError, x[%d]=x[%d]\n", k, k-1); return; } l[k] = (y[k] - y[k-1])/h[k]; } delta[1] = - h[2]/(2*(h[1]+h[2])); lambda[1] = 1.5*(l[2] - l[1])/(h[1]+h[2]); for(k=3; k<=N; k++){ delta[k-1] = - h[k]/(2*h[k-1] + 2*h[k] + h[k-1]*delta[k-2]); lambda[k-1] = (3*l[k] - 3*l[k-1] - h[k-1]*lambda[k-2]) / (2*h[k-1] + 2*h[k] + h[k-1]*delta[k-2]); } c[0] = 0; c[N] = 0; for(k=N; k>=2; k--){ c[k-1] = delta[k-1]*c[k] + lambda[k-1]; } for(k=1; k<=N; k++){ d[k] = (c[k] - c[k-1])/(3*h[k]); b[k] = l[k] + (2*c[k]*h[k] + h[k]*c[k-1])/3; } printresult(); testresult(); freematrix(); } -
Марк Славенко 26 мая 2020Вам тут из того что можно поменять.
Разве что изменить printf на cout, да и все
Актуальные фриланс-проекты в категории C и C++
Требуется разработать патч для драйвера видеокарты, расширяющий возможности управления графическим адаптером за счёт добавления дополнительных пользовательских настроек. Патч должен интегрироваться в существующую архитектуру драйвера без нарушения его основной функциональности и обеспечивать совместимость с поддерживаемыми версиями операционной системы. Основной целью является предоставление более гибкого доступа к параметрам, которые недоступны в стандартной панели управления драйвера, с возможностью их изменения через пользовательский интерфейс или программный API. Патч должен предусматривать модульную структуру, позволяющую в дальнейшем добавлять новые параметры без существенной переработки кода. Необходимо обеспечить корректную обработку ошибок, журналирование изменений, возможность отката настроек к значениям по умолчанию, а также сохранение совместимости с будущими обновлениями драйвера, насколько это возможно. Решение должно сопровождаться технической документацией с описанием архитектуры, реализованных возможностей, ограничений и рекомендаций по тестированию.
Автоматизация на сайте - echerha
Мы являемся крупной логистической компанией, которая имеет собственный экспорт. В нашем распоряжении большой автопарк, и мы постоянно отправляем собственные транспортные средства на экспорт в страны Европы.Описание Сайт: https://echerha.gov.ua/ На этом сайте мы ставим наши автомобили в электронную очередь для пересечения государственной границы. Во время регистрации необходимо ввести следующие данные: имя и фамилия водителя; номер заграничного паспорта; электронный адрес (email); номер телефона логиста для получения уведомлений; тип транспортного средства (грузовой); название производителя автомобиля; государственный номерной знак тягача; государственный номерной знак прицепа; номер таможенной декларации. Для каждого автомобиля заранее определен конкретный день и время пересечения границы. Например, автомобиль должен пройти пункт пропуска «Рава-Русская» в понедельник в 10:00.Наша проблема - Очередь на сайте https://echerha.gov.ua/ движется непредсказуемо. - Например, сегодня пятница, а автомобиль должен пересечь границу в понедельник в 10:00. - Мы не знаем, когда именно начнет продвигаться очередь. Это может произойти в пятницу вечером, в любое время в субботу или воскресенье, рано утром, днем или поздно вечером. - Когда очередь начинает двигаться, это сразу видно на сайте. Иногда всего за несколько минут она может продвинуться с пятницы до понедельника или даже до вторника. - Из-за этого логисты вынуждены постоянно контролировать мобильное приложение или вебсайт, чтобы не пропустить момент, когда очередь дойдет до нужной даты и времени. Если этот момент будет упущен, мы физически не успеваем поставить автомобиль в очередь на нужный временной слот.Задача - После внесения данных о автомобиле (например, в таблицу или другой интерфейс, в зависимости от реализации программиста) система должна автоматически отслеживать движение очереди. - Когда очередь дойдет до заранее определенных даты и времени, система должна автоматически заполнить необходимые данные и поставить автомобиль в очередь без участия логиста.
Ищу опытного разработчика TrinityCore 3.3.5a, который хорошо разбирается в устройстве ядра, Battleground-системе, C++, SQL и клиенте WoW 3.3.5. В проект уже интегрирован кастомный Battleground «Долина Рабства» (Slavery Valley), перенесённый с AzerothCore на TrinityCore. Основная часть работы уже выполнена, однако требуется довести его до уровня Blizzard.Что уже сделано TrinityCore 3.3.5a + Eluna. Полностью настроен сервер. Battleground интегрирован в ядро. Работает вход в BG. Работает клиентский UI (частично). Выполнен перенос большинства SQL и DBC. Собирается без ошибок.Что необходимо сделать Исправить оставшиеся баги Battleground. Довести механику до уровня официальных Battleground Blizzard. Исправить стартовую фазу матча. Реализовать корректные стартовые ворота/огненные стены. Исправить механику захвата точек. Исправить завершение матча. Проверить начисление очков и работу WorldState. Исправить оставшиеся проблемы C++ и SQL. Выполнить полный игровой тест.Требования Обязательный опыт: TrinityCore 3.3.5a; C++; SQL (MariaDB/MySQL); DBC; MPQ; Visual Studio; CMake; Git. Будет большим плюсом: AzerothCore; Eluna; опыт разработки Battleground; понимание клиентской части WoW 3.3.5a.Формат работы Работа поэтапная. После каждого этапа обязательное тестирование. Каждый этап принимается только после проверки в игре. Необходимы понятные отчёты по изменениям.В дальнейшем Это долгосрочный проект. После завершения Battleground планируется: перенос новых Battleground; перенос новых арен; новые расы; новые классы; новые игровые системы; дальнейшая разработка собственного сервера World of Warcraft 3.3.5a. Ищу разработчика, который уже работал с TrinityCore и сможет не просто писать код, а доводить систему до полностью рабочего состояния.нет сервер с 0 как я хочу Если ты ищешь разработчика не на один Battleground, а на создание сервера с нуля, то объявление должно выглядеть примерно так.Название проекта Разработка сервера World of Warcraft 3.3.5a с нуля (TrinityCore / C++ / SQL / Eluna)Описание проекта Ищу опытного разработчика TrinityCore 3.3.5a для долгосрочного сотрудничества. Нужен человек, который сможет с нуля разработать полностью готовый игровой сервер World of Warcraft 3.3.5a на базе TrinityCore с дальнейшим развитием проекта. Проект большой и рассчитан на несколько месяцев разработки.Основа проекта TrinityCore 3.3.5a. Максимально стабильная и близкая к Blizzard база. Eluna Lua Engine. MariaDB. Visual Studio + CMake. Git.Что планируется реализовать Полностью рабочий сервер 3.3.5a. Исправление ошибок ядра. Разработка новых игровых систем. Интеграция кастомных Battleground. Интеграция новых арен. Перенос полезных модулей с AzerothCore на TrinityCore. Разработка собственных модулей. Новые PvP и PvE системы. Новые игровые события. Балансировка классов. Дополнительные системы прогрессии. Улучшение производительности сервера.В будущем После завершения базовой части планируется: новые расы; новые классы; новые зоны; новые подземелья; новые рейды; новые Battleground; новые профессии; новые игровые механики; интеграция современных систем в клиент 3.3.5a.Требования к разработчику Обязательно: Отличное знание TrinityCore 3.3.5a. Уверенное знание C++. SQL (MariaDB/MySQL). Git. Visual Studio. CMake. Понимание архитектуры TrinityCore. Опыт работы с Battleground, PvP и игровыми механиками. Будет большим плюсом: Опыт работы с AzerothCore. Eluna Lua Engine. Работа с DBC и MPQ. Опыт создания собственных игровых систем.Формат работы Работа поэтапно. Каждая задача оформляется отдельным техническим заданием. После каждого этапа проводится обязательное тестирование. Работа принимается только после проверки непосредственно в игре. Нужен разработчик, который умеет доводить функционал до полностью рабочего состояния, а не только писать код
Создать совместимость между наземной станцией управления, системой автоматического старта (САС), радаром и самолетом.