Porfavor, necesito ayuda pasar codigo de Java a C

Iniciado por MiguelYeah, 16 Noviembre 2013, 12:45 PM

0 Miembros y 1 Visitante están viendo este tema.

rir3760

Cita de: MiguelYeah en 16 Noviembre 2013, 12:45 PMtengo que entregar un ejercicio en C, y no tengo mucha idea. Lo tengo hecho en Java
El valor de retorno de la función main debe ser int y no deberías utilizar "fflush(stdin)". Mas información en la pagina |Lo que no hay que hacer en C/C++. Nivel basico|.

Si apenas empiezas con el lenguaje C sera algo difícil ya que debes utilizar punteros y las funciones:
* strlen para conocer el numero de caracteres de una cadena sin incluir el '\0'.
* malloc para reservar un bloque de memoria donde almacenar una cadena.
* strcpy para copiar la cadena en el bloque de memoria indicado.
* sprintf para imprimir varias cadenas y caracteres en un bloque de memoria.

Supongo esas funciones ya las vieron en clase, ¿Correcto?

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

kellogs95

#11
Varias Cosas desconozco el lenguaje Java pero te intento ayudar con la parte en c:

#include<stdio.h>

//*     (Base(n-1)+ 'E' + Base(n-1) + 'R' + Base(n-1) + 'E' + Base(n-1))

int main(void) {
int n, i;
char array[4];
const char lado [4] = {'l','a','d','o'};
const char test [4] = {'t','e','s','t'};
int x;

printf("\n Introduzca el valor de n: ");
scanf("%d", &n);
fflush (stdin);
printf("\n El resultado en la iteracion %d es: ", n);

if(n==0)
for (x=0; x<4; x++)   //* Copiamos el array lado[] a array[]
array[x] = lado[x];
else
for (x=0; x<4; x++)  //* Copiamos el array test[] a array[]
array[x] = test[x];

for(i=0; i < 4; i++)    //* Imprimimos cada uno de los caracteres del array
       printf("%c", array[i]);

fflush(stdout);

return 0;
}

/* FALLOS:
* %s es para cadena de caracteres, uso de punteros.
* declaramos como arrays para no tener que lidiar con el caracter NULL */

tambien soy "principiante" en c, asi que me la he apañado con lo que sabia; No he usado ninguna funcion ya que me daba muchos errores de compilacion, pero si realmente necesitas trascribirlo con funciones yo usaria una funcion void Base (n), ya que si usas el return ret[] solo puedes igualar el primer caracter del array.

Y por ultimo no entiendo el algoritmo {(Base(n-1)+ 'E' + Base(n-1) + 'R' + Base(n-1) + 'E' + Base(n-1))}, por eso te he puesto la palabra "test", si me puedes detallar a lo que te refieres con eso....  :huh:

saludos y espero haberte ayudado.