Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con programa C++

Estas en el tema de Problema con programa C++ en el foro de C/C++ en Foros del Web. Hola. Tengo un programa en C++ que me gustaría pasar a C. ¿Cómo sería? El código es: Código: #include<iostream.h> class DivDiff{ float *x,*f; int n,intial,final; ...
  #1 (permalink)  
Antiguo 02/02/2007, 06:02
 
Fecha de Ingreso: diciembre-2006
Mensajes: 33
Antigüedad: 17 años, 4 meses
Puntos: 0
De acuerdo Problema con programa C++

Hola.

Tengo un programa en C++ que me gustaría pasar a C. ¿Cómo sería?

El código es:

Código:
#include<iostream.h>
class DivDiff{
                        float *x,*f;
								int n,intial,final;
						public:
								void iovalues();
								float dd(int,int);
							  };
void DivDiff::iovalues()
{
 cout<<"Enter number of points :"<<endl;
 cin>>n;
 x=new float[n];
 f=new float[n];
 for(int i=0;i<n;i++)
	 {cout<<"Enter x["<<i<<"]"<<endl;
	  cin>>x[i];
	  cout<<"Enter f["<<i<<"]"<<endl;
	  cin>>f[i];}
 while(1){
			 cout<<"Enter intial r(-1 to exit)"<<endl;
			 cin>>intial;
			 if(intial==-1)break;
			 cout<<"Enter  final r"<<endl;
			 cin>>final;
			 cout<<dd(intial,final)<<endl;
			}
}
float DivDiff::dd(int intial,int final)
{
 float temp=0;
 if((final-intial)==1)
	 temp=(f[final]-f[intial])/(x[final]-x[intial]);
 else
	 temp=(dd(intial+1,final)-dd(intial,final-1))/(x[final]-x[intial]);
 return temp;
}
Un saludo.
  #2 (permalink)  
Antiguo 02/02/2007, 07:03
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Re: Problema con programa C++

Básicamente, lo que tienes que hacer es convertir todo lo que es de C++ a C.


Convertir los métodos de la clase, en funciones de C.

Luego convertir todas los usos de los objetos cout y cin, a llamadas printf(...) y scanf(...);

Quitar las declaraciones public

La parte mas "dificil" sería el reemplazo de los operadores new, mas concretamente las lineas:
x=new float[n];
f=new float[n];

Esto lo podrias solucionar usando la función malloc de la librería malloc.h mas o menos así:
float *x = (float *)malloc(n*sizeof(float));

LA declaración de f es muy similar.

Con esos cambios debería andarte (quizás se me haya escapado algo)
  #3 (permalink)  
Antiguo 02/02/2007, 11:51
 
Fecha de Ingreso: diciembre-2006
Mensajes: 33
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problema con programa C++

Y como quedaría el programa. Es que no lo entiendo muy bien.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:55.