[ Foro de C ]
Duda con una de las preguntas del test
Bueno en una de las preguntas e probado el codigo y me sale un resultado 2. Pero la respuesta segun el corrector es otra. que esta mal el corrector o el compilador (o yo, posibilidad a tener en cuenta :P)
int escribe(int x){
printf("%d",x);
}
int main(){
int x =2;
escribe(x);
Da más detalles: fuente completo y respuesta supuestamente correcta ;-)
Yo veo por ejemplo este:
void escribe(int x) {
 printf("%d", x);
}
main() {
 printf("%d", escribe(2));
}
que no puede compilar, porque no puedes poner el "escribe" dentro de un "printf" porque no devuelve ningún valor.
--------
Otra pregunta parecida es
Este programa
int escribe(int x) {
printf("%d", x);
}
int main() {
int x =2;
escribe(x);
}
Y la respuesta correcta es
"Compilará y funcionará, escribiendo un 2 en pantalla"
que es lo que tu dices que te sale (Claro!)
Más detalles, please...
N.
el que yo digo es el segundo fuente que pones y la respuesta que e puesto es la misma pero los resultados del corrector en una primera intentona a sido otra (me a extrañao) i al volver a intentarlo ya a salido bien.
Todo solucionao :P
P.D.: podrias hacerte el loco y no poner recursividad de esa que es fea y askerosa ;-)
Y esto, no lo entiendo!!!!
Una función recursiva que calculara el producto de dos números enteros positivos, descomponiéndolo en varias sumas, podrÃa ser
int producto (int a, int b) {
 if (b == 1) return a;
 else return XXXXXXXXXXXXXXX;
}
donde XXXXXXXXXXXXXXX serÃa (escribe tu respuesta sin ningún espacio en blanco)...
Respuesta:
a+producto(a,b-1)
¿Por qué ese b-1?
Saludosss
Se trata de simplificar cada vez más hasta llegar a un caso trivial ("caso base"):
3 * algo =
Caso trivial: 3 * 1 = 3
Si no es trivial y no puedes usar multiplicaciones, sino operaciones más sencillas:
3 * 5 = 3 + 3 + 3 + 3 + 3
(Sumas 3 cinco veces), mientras que
3 * 4 = 3 + 3 + 3 + 3
(sumas 3 cuatro veces) y asà sucesivamente
En general
3 * n = 3 + 3 * (n-1)
^^^^^^
Siempre se trata de bajar de "n" a un caso más sencillo, hasta acercarte al caso trivial (1) -> generalmente se intentará pasar del valor para "n" al valor para "n-1".
Es algo asà como si tú hicieras parte del trabajo y le pasaras la pelota al siguiente, que hace otra parte del trabajo, y le pasa la pelota al siguiente, y asà hasta el último (el caso base).
N.
Nacho corregiras los ejercicios del examen de funciones en la pizarra o los pondras en el servidor (si no estan ya :P)?? me quede con la duda de como se hacian
Posiblemente los HAREMOS en la pizarra.
Iré dando pistas, pero creo que se aprende mucho más cuando uno pelea con las dificultades (aunque sea con algo de ayuda) que cuando se las resuelven por completo.
N.
Cuando vas a poner el temario correspondiente a punteros? Y algun test de esos raros.
(No se puede continuar esta discusión
porque tiene más de dos meses de antigüedad.
Si tienes dudas parecidas, abre un nuevo hilo.)