jak przetłumaczyć fortran na c++?

0

A function f(x) is to be evaluated at each of N equally spaced points in [0,1], where N is large. Which of the following pieces of code is prefable for yhis task? Explain.
1.
X= 0.0
H= 1.0/FLOAT(N)
DO 10 I = 1,N
X=X+H
WRITE(6,*) F(X)
10 CONTINUE

  1. H=1.0/ FLOAT(N)
    DO 10 I = 1,N
    X= FLOAT(I)H
    WRITE(6,
    ) F(X)
    10 CONTINUE

Przetłumaczyłam sobie zadanie ( nie mam pojęcia czy dobrze) że funkcja ma byc oceniona przy każdym z N rozstawionych punktów w przedzoale [0,1], gdzie N jest duze.

Mam problem, aby Fortran przetłumaczyć na język c++. Ponadto mam sprawdzić działanie programu w pojedynczej precyzji jak i double. Jak to zrobić? jestem początkująca wręcz raczkująca i nie wiem od czego zacząć. Wiem ze zaczynam od podstaw,, ale jako kobieta mam z tym problem i to znaczny. Czy byłby ktoś w stanie mi pomóc???
Jak stworzyć pętlę liczącą np. sin czy np jakiś wielomian?

0

Na oko to będzie coś w stylu:

#include <iostream>
using namespace std;

template <class T>
void functionOne(int n)
{
    T x= 0.0;
    T h= 1.0/T(n);
    for(int i=0; i<n; i++)
    {
        x+=h;
        cout<<6<<f(x)<<endl;
    }
}

template <class T>
void functionTwo(int n)
{
    T h = 1.0/T(n);
    for(int i=0; i<n; i++)
    {
        T x=T(i)*h;
        cout<<6<<f(x)<<endl;
    }
}

int f(int x)
{
    return 0; //tu pewnie powinna byc jakaś funkcja
}

int main()
{
    int n = 10000; //na przykład
    functionOne<float>(n);
    functionOne<double>(n);
    functionTwo<float>(n);
    functionTwo<double>(n);
    return 0;
}

0

z tego co wiem to są specialne programy tłumaczące fortrana do C.

http://www.netlib.org/f2c/ - fortran to C

1

Wystarczy, że dziewczyna wklei do awatara swoje foto i już informatycy się zlecą, żeby pomóc :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1