Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!

Переработать код из C в C++

255 UAH

Отзыв заказчика о сотрудничестве с Виктором Л.

Качество
Профессионализм
Стоимость
Контактность
Сроки

Быстро и качественно выполнил работу. Спасибо большое!

Профиль удален | Сейф Сейф

Отзыв фрилансера о сотрудничестве с заказчиком

Оплата
Постановка задачи
Четкость требований
Контактность

Четкая задача, быстрая оплата и отличная коммуникация, рекомендую к сотрудничеству!

  1. 1275    23  1
    Победившая ставка1 день255 UAH

    Здравствуйте, Влад.
    Перепешу код и сделаю даже немного оптимизации, если пожелаете.
    Обращайтесь

  2. 1 ставка скрыта
  • Профиль удален
    26 мая 2020, 20:53 |

    Здравствуйте, хотелось бы посмотреть код

  • Профиль удален
    26 мая 2020, 21:19 |

    Прикрепил в ответ на другой комментарий 

  • Андрій Федорко
    26 мая 2020, 21:02 |

    Любой С-шный код уже компилириуется на С++. Плюсы принесли з собой новые функции, и аналоги для уже существущих. Если вы уверены что перевод вам действительно нужно, то скиньте пожалуйста код.
    Писал на чистом С, люблю математику. С задачей справлюсь.

  • Профиль удален
    26 мая 2020, 21:18 |

    Вот программа на 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, 21:36 |

    Вам тут из того что можно поменять.
    Разве что изменить printf на cout, да и все

Актуальные фриланс-проекты в категории C и C++

Консультация и аудит текущего проекта на Odoo 19 Community Edition

Ищем Odoo разработчика — соло-разработчика с опытом разработки на Odoo 19 Community Edition, в том числе с использованием Claude Code. Нам нужен специалист, который успешно реализовал проекты в Odoo и имеет практический опыт разработки с использованием Claude Code. Важно:…

C и C++Javascript и Typescript ∙ 20 часов 20 минут назад ∙ 5 ставок

Создание или доработки прошивки и логики под три автономных LoRa-станций на базе ESP32.

5000 UAH

создание или доработки прошивки и логики под три автономных LoRa-станций на базе ESP32. Устройства должны поднимать Wi-Fi точку доступа, отдавать локальный сайт через браузер (HTTP), принимать текст и изображения в радиусе 5-10 км(плюс минус), сохранять данные (желательно на…

C и C++C# ∙ 22 часа 43 минуты назад ∙ 3 ставки

Разработка ПО для Arduino (RF-модули 3–7.5 ГГц, автоматическое сканирование частот)

Необходимо разработать систему на Arduino для автоматического поиска активного аналогового видеосигнала и автоматической настройки передатчика на обнаруженную частоту.Планируется использование трех отдельных приемно-передающих модулей: 3000–4200 МГц; 4900–6000 МГц; 6100–7500…

C и C++Встраиваемые системы и микроконтроллеры ∙ 1 день 21 час назад ∙ 4 ставки

Чёрная Украина (RP-проект на базе MTA)

51 669 UAH

Исправление ошибок различной сложности, как на изображениях. Корректировка навигации карты. Исправление дыр в карте, адаптация транспортных средств к проекту, удаление логотипов или их переписывание.

C и C++Python ∙ 3 дня 8 часов назад ∙ 19 ставок

Инженер по инфраструктуре резидентных прокси

Мы строим сеть резидентных прокси с нуля — полностью собственную, без сторонних поставщиков. Нам нужен один исключительный сетевой инженер для создания всей технической базы. Что вы будете строить: - Android SDK для фонового использования, который направляет прокси-трафик через…

C и C++DevOps ∙ 7 дней 17 часов назад ∙ 13 ставок

Заказчик
Профиль удален


Проект опубликован
6 лет назад
102 просмотра
Метки
  • C/C /C#