Dev - C++ - trasladar datps a otro codigo

   
Vista:

trasladar datps a otro codigo

Publicado por ivan (8 intervenciones) el 20/12/2015 01:35:27
buenas, se me presenta el siguiente porblema: estoy trabajando en el método de bisección para resolver raices de polinomios......el problema no se encuentra en el metodo en si, sinó en la utilización del polinomio.
Les paso el codigo:

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
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <iostream>
#include <cmath>
 
 
using namespace std;
 
int main ( )
 {
      int n, i, m, k;
      double A, B, xr;
 
 
    cout << "\n\n\t\t Construccion de Polinomios de grado mayor ";
    cout << "\n\nIngrese el grado del polinomio ";
    cin >> n;
 
    double a[n], b[n];
    cout << "\n\n Ingrese los coeficientes con su signo correspondiente \n";
    for(i=0; i<=n; i++)
    {
           m = n-i;
           cout << "\n a("<< m <<") : > ";
           cin >> a[n-i];
     }
 
     cout << "\n\n ingrese el polinomio: \n\n P(x) = ";
     for(i=0; i<=n; i++)
     {
           m=n-i;
           if(i!=n)
           {
                cout << " " << a[m] << " x' " << m << " + ";
            }
           else
            {
               cout << " " << a[m] << " ";
             }
      }
}

Como he dicho, este no es el código de bisección sinó que es el armado del polinomio.
Mi pregunta es la siguiente, una vez armado mi polinomio, es posible que el return de este código (el polinomio en sí) pueda ser trasladado o usado para luego aplicarle el metodo de biseccion?

desde yá, muchas gracias. Mi duda surgió al tener que cambiar la función (polinomio) cada vez que queria aplicar el metodo a distintos tipos de polinomios....es decir, generalizar el método.
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 Jordi

trasladar datos a otro codigo

Publicado por Jordi (9 intervenciones) el 20/12/2015 08:57:11
Hola Iván,

Desde luego que se lo puedes pasar a otra función. Imaginate que tienes tu polinomio en el vector "a" de la forma siguiente:

1
a = [1, 3, -4, 5, -2]     // x^4 + 3x^3 - 4x^2 + 5x -2

Tendrás tu función:

1
2
3
function biseccion(int[] polinomio) {
    // aplicar método sobre el array "polinomio"
}

Y podrás llamar a tu función en tu código, tras pedir los valores.


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
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <iostream>
#include <cmath>
 
 
using namespace std;
 
int main () {
	int n, i, m, k;
	double A, B, xr;
 
	cout << "\n\n\t\t Construccion de Polinomios de grado mayor ";
	cout << "\n\nIngrese el grado del polinomio ";
	cin >> n;
 
	double a[n], b[n];
	cout << "\n\n Ingrese los coeficientes con su signo correspondiente \n";
	for(i=0; i<=n; i++) {
		m = n-i;
		cout << "\n a("<< m <<") : > ";
		cin >> a[n-i];
	}
 
	cout << "\n\n ingrese el polinomio: \n\n P(x) = ";
	for(i=0; i<=n; i++) {
		m=n-i;
		if(i!=n) {
			cout << " " << a[m] << " x' " << m << " + ";
		}
		else {
			cout << " " << a[m] << " ";
		}
	}
 
	// Ahora llamamos a la función
	biseccion(a);
}
 
function biseccion(int[] polinomio) {
    // aplicar método sobre el array "polinomio"
}
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

trasladar datos a otro codigo

Publicado por iván (8 intervenciones) el 21/12/2015 01:37:34
Primero que nada gracias por la respuesta Jordi, ahora me aparecen los siguientes errores a la hora de compilar el codigo que me pasaste:

"biseccion" cannot be used as a function.
"function" does not name a type.

En que me estoy equivocando?

Desde ya muchas gracias.
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
Imágen de perfil de Jordi

trasladar datos a otro codigo

Publicado por Jordi (9 intervenciones) el 21/12/2015 07:00:49
Ups, culpa mía!

Te puse la función bisección como "function + nombre" (como si fuera Javascript), pero en C/C++ las funciones se declaran como "tipo de variable a retornar + nombre". Entonces, como no queremos que devuelva nada en especial, la declaramos como void.

1
2
3
void biseccion(int[] polinomio) {
    // aplicar método sobre el array "polinomio"
}
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

trasladar datos a otro codigo

Publicado por iván (8 intervenciones) el 21/12/2015 17:33:46
Hola jordi, gracias por la respuesta, te queria preguntar:

En la linea 38 del codigo que me pasaste me aparece el sigueinte error [Error] 'biseccion' cannot be used as a function.
Y luego de corregir por void biseccion (int[ ] polinomio) me aparece el siguiente error [Error] expected ',' or '...' before 'polinomio'.

Desde ya muchas gracias!!
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

trasladar datos a otro codigo

Publicado por agustin (310 intervenciones) el 22/12/2015 09:27:37
Cambia:
void biseccion(int [] polinomio)
por:
void biseccion(double *polinomio, int n)
Donde polinomio es un puntero de tipo double y n indica el número de elementos y problema resuelto.
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