Autor
|
Tema: Porfavor, necesito ayuda pasar codigo de Java a C (Leído 8,576 veces)
|
MiguelYeah
Desconectado
Mensajes: 4
|
Hola, buenas a todos. Tengo un problema, pues tengo que entregar un ejercicio en C, y no tengo mucha idea. Lo tengo hecho en Java, y acudo por si alguien puede ayudarme. El codigo en cuestion es este:
public class Problema1 {
public static String Base(int n){ String ret;
if(n==0){
ret="Lado";
}else{
ret=(Base(n-1)+ "E" + Base(n-1) + "RR" + Base(n-1) + "E" + Base(n-1));
}
return ret;
}
}
El "codigo" que yo he hecho y que no consigo que compile puesto que tendra mil fallos es:
char Base(int n) {
char ret;
if(n==0)
ret="Lado";
else
ret=(Base(n-1)+ "E" + Base(n-1) + "RR" + Base(n-1) + "E" + Base(n-1));
return ret;
}
void main(void){
int n;
printf("Introduzca el numero de n: \n");
fflush(stdout); fflush(stdin); scanf("%d", &n);
printf(ret); fflush(stdout);
Tendria que poner con un test que pida el valor de n por consola. Lo estoy haciendo con Eclipse. Muchas gracias de antemano y a ver si alguien puede ayudarme con este gran dolor de cabeza.
|
|
|
En línea
|
|
|
|
xaps
Desconectado
Mensajes: 157
|
Acostumbrate a poner el código dentro de contenedores de código. Para ello, cuando escribas un post, veras una lista desplegable dónde pone GeSHi. Si le das click, podrás escoger el lenguaje de programación con el cual has hecho el código para aplicarle el formato correcto.
Una vez hayas hecho esto, publica tu código en C juntamente con el error que te da el compilador y intentaré ayudarte, ya que ahora mismo se me hace imposible con el formato con el que lo has publicado.
|
|
|
En línea
|
"The programmers of tomorrow are the wizards of the future" - Gave Newel
|
|
|
MiguelYeah
Desconectado
Mensajes: 4
|
Ok, lo siento, es la primera que escribo. Intento hacerlo como me has dicho. El código en Java que funciona como deberia funcionar es este: public class Problema1{ public static String Base (int n ){ if(n==0){ ret="Lado"; }else{ ret=(Base(n-1)+ "E" + Base(n-1) + "R" + Base(n-1) + "E" + Base(n-1)); } return ret; } }
Y lo tengo que pasar a C, junto con un test para que muestre por pantalla alguna iteracion(n) que yo le diga por consola. Esto es lo que yo tengo, el cual no da nada: #include<stdio.h> char Base(int n) { char ret; if(n==0){ ret='Lado'; }else{ ret=(Base(n-1)+ 'E' + Base(n-1) + 'R' + Base(n-1) + 'E' + Base(n-1)); } return ret; } int main() { int n; char ret; printf("Introduzca el valor de n: \n"); ret = Base(n); printf("El resultado en la iteracion %d es : %s\n", n , ret ); }
Espero haberlo hecho bien esta. Muchas gracias por decirme como es. Creo que el error esta en concatenar las cadenas, aunque no lo se porque estoy empezando con C y estoy aun muy verde. Al Gracias de nuevo, a ver si me puedes echar un cable
|
|
|
En línea
|
|
|
|
xaps
Desconectado
Mensajes: 157
|
No te preocupes, ahora el formato está perfecto. No se si estoy en lo cierto, pero para declarar un string has de crear un vector de chars, por lo que deberías cambiar char ret;
por char ret[];
ya que, si no le pones los [], se declara como un único char. Pruébalo y coméntame si te ha servido. EDITO: En la línea 6, el string ponlo con comillas dobles, ya que comillas simples suelen representar un char, y las dobles un string. Lo mismo para la línea 8.
|
|
« Última modificación: 16 Noviembre 2013, 22:08 pm por xaps »
|
En línea
|
"The programmers of tomorrow are the wizards of the future" - Gave Newel
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Aportandoalgo más, para pasar el código de Java a C, tendrás que usar un método para concatenar las strings: ret=(Base(n-1)+ "E" + Base(n-1) + "R" + Base(n-1) + "E" + Base(n-1));
Eso no sirve en C. Si fuera C++, podrías usar una string. Hacer el código sería más fluido.
|
|
|
En línea
|
|
|
|
xaps
Desconectado
Mensajes: 157
|
Aportandoalgo más, para pasar el código de Java a C, tendrás que usar un método para concatenar las strings: ret=(Base(n-1)+ "E" + Base(n-1) + "R" + Base(n-1) + "E" + Base(n-1));
Eso no sirve en C. Si fuera C++, podrías usar una string. Hacer el código sería más fluido. Lo sospechaba, pero no me he atrevido a decir nada ya que he trabajado bastante poco en C. Aquí tienes un enlace que te puede servir para concatenar cadenas: http://stackoverflow.com/questions/308695/c-string-concatenation
|
|
« Última modificación: 16 Noviembre 2013, 22:54 pm por xaps »
|
En línea
|
"The programmers of tomorrow are the wizards of the future" - Gave Newel
|
|
|
MiguelYeah
Desconectado
Mensajes: 4
|
Muchas gracias, me pongo a ello ahora mismo y comento. Sospechaba que podia ser la concatenación, pero por mas que miraba, no daba con una solución. Ahora ya tengo por donde tirar. Gracias de verdad. Pues despues de probar todas las combinaciones posibles, sigue sin funcionar. No se que mas hacer, he leido que si arrays de caracteres, que si strcat...pero tras probar todo, sigue sin compilar.
|
|
« Última modificación: 17 Noviembre 2013, 10:13 am por MiguelYeah »
|
En línea
|
|
|
|
xaps
Desconectado
Mensajes: 157
|
Muchas gracias, me pongo a ello ahora mismo y comento. Sospechaba que podia ser la concatenación, pero por mas que miraba, no daba con una solución. Ahora ya tengo por donde tirar. Gracias de verdad. Pues despues de probar todas las combinaciones posibles, sigue sin funcionar. No se que mas hacer, he leido que si arrays de caracteres, que si strcat...pero tras probar todo, sigue sin compilar. ¿Que error te muestra al compilar?
|
|
|
En línea
|
"The programmers of tomorrow are the wizards of the future" - Gave Newel
|
|
|
MiguelYeah
Desconectado
Mensajes: 4
|
Pues ninguno, se queda colgado sin mas. No me marca errores de compilacion con strcat, pero no hace nada, se cuelga.
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Mm yo hice strcat, y también me dejó de funcionar. Yo soy hijo de C++, así que no te podré ayudar mucho más xd
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pasar este código de VB a Java
Programación General
|
Baal_30
|
1
|
2,230
|
17 Marzo 2016, 16:22 pm
por ivancea96
|
|
|
Pasar de C# a Java. Código en modo consola
Java
|
Meta
|
2
|
5,385
|
16 Marzo 2017, 04:56 am
por Meta
|
|
|
porfavor necesito que me ayuden con este codigo de autoclick c++
Programación C/C++
|
ignaciokraftwerk
|
1
|
2,176
|
15 Enero 2018, 21:54 pm
por fary
|
|
|
ayuda a pasar un codigo de java a c++
Programación C/C++
|
ashtag
|
1
|
1,978
|
17 Enero 2019, 17:24 pm
por K-YreX
|
|
|
Pasar este código Java a C
Programación C/C++
|
Deivid_Math
|
3
|
5,154
|
1 Mayo 2020, 22:21 pm
por Deivid_Math
|
|