Dev - C++ - Añadir datos externos

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Añadir datos externos

Publicado por evolve (5 intervenciones) el 13/12/2020 12:25:41
Hola buenas tengo que hacer unas operaciones con unos datos que me han dado en un archivo de texto (con formato.dat). Me piden la sumatoria de una funcion en la que varian sus incognitas t y w cada vez, que son dadas por el archivo de datos. El problema es que no se como añadir los datos automaticamente sin que tenga que estar uno por uno copiandolos.
Agradezco la ayuda.

El codigo que tengo por ahora es este (donde esta t y w es, supongo, donde tengo que añadir el código para que lea el archivo cada vez):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    const double PI = 3.14159265359;
    int n;
 
    double sumaCos = 0.0f;
    double sumaSin = 0.0f;
    double t,w;
    double base=2.5*t+2.5;
 
    for (int i = 1; i <=64; i++)
    {
        t=;
        w=;
 
        sumaCos += w*(cos((PI / 2) * pow(base,2)));
        sumaSin += w*(sin((PI / 2) * pow(base,2)));
    }
 
    double ansCos = sumaCos * 2.5;
    double ansSin = sumaSin * 2.5;
 
    cout << "\nC("<<w<<") con Cuadratura gaussiana de 64 puntos: " << ansCos << endl;
    cout << "\nS("<<w<<") con Cuadratura gaussiana de 64 puntos: " << ansSin << endl;
 
    return 0;
}

Y una ultima cosa, es mejor poner base donde queremos poner algo elevado a un exponente ? es decir, escribir pow(base,2) con la base definida anteriormente o directamente poner pow(2.5t+2.5,2)??

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Añadir datos externos

Publicado por Alfil (1444 intervenciones) el 13/12/2020 16:35:49
En la línea 14 utilizas la variable 't' que no ha sido inicializada y por tanto tiene un valor indeterminado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <fstream>
#include <cmath>
 
using namespace std;
 
int main()
{
    const double PI = 3.14159265359;
 
    ifstream in("formato.txt");
    int n;
 
    double sumaCos = 0.0f;
    double sumaSin = 0.0f;
    double t, w;
    double base;
 
 
    if (in.is_open())
    {
        in >> t >> w;
 
        while (!in.eof())
        {
            cout << "\nT: " << t << " W: " << w;
 
            base = 2.5 * t + 2.5;
 
            sumaCos += w*(cos((PI / 2) * pow(base,2)));
            sumaSin += w*(sin((PI / 2) * pow(base,2)));
 
            in >> t >> w;
        }
 
 
        double ansCos = sumaCos * 2.5;
        double ansSin = sumaSin * 2.5;
 
 
        cout << "\nC("<<w<<") con Cuadratura gaussiana de 64 puntos: " << ansCos << endl;
        cout << "\nS("<<w<<") con Cuadratura gaussiana de 64 puntos: " << ansSin << endl;
 
    }
    else
        cout << "\nEL ARCHIVO NO SE ENCUENTRA" << endl;
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar