Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: ferminta en 13 Enero 2012, 08:06 AM

Título: errores de programa en C al compilar gcc
Publicado por: ferminta en 13 Enero 2012, 08:06 AM
He hecho  un programita  en C que exactamente  rellenara una tabla con los 10 primeros números d ela sucesión de Fibonacci.
main
int tabla[10]
int i
int aux
printf(%d\n, 0);
scanf(%d",&tabla[0])
printf(%d\n, 1);
scanf(%d",&tabla[1])
for (i=2;i<=10;i++)
    tabla=tabla[i-1] + tabla[i-2]
     scanf(%d,tabla)
end

Esto me debe dar una salida al complilar en C así:
0 1 2 3 5 8 13 21 44 65 es decir una tabla con los 10 primeros numeros d ela sucesión de FIBONACCI pero no me sale eso, sale 1 2 3 4 5 6 7 8 9 10....
¿Me pueden decir donde estan los errores?
Título: Re: errores de programa en C al compilar gcc
Publicado por: leogtz en 13 Enero 2012, 08:28 AM
Tienes muchos errores de sintáxis, debes leer algún manual urgentemente.

Tu código debe de ir dentro de la función main(), así:

int main() {
// CÓDIGO
}


Las sentencias en C terminan con ';'.
Título: Re: errores de programa en C al compilar gcc
Publicado por: ferminta en 13 Enero 2012, 09:43 AM
Empiezo yo por poner el código lo más estrictamente:


#include <stdio.h>
#include define N=10

main ()
int tabla[10];
int i;
int aux;
printf(%d\n, 0);
scanf(%d",&tabla[0]);
printf(%d\n, 1);
scanf(%d",&tabla[1]);

for (i=2;i<=10;i++)
tabla=tabla[i-1] + tabla[i-2];
scanf(%d,tabla);
end;

Esto me debe dar una salida al complilar en C así:
0 1 2 3 5 8 13 21 44 65 es decir una tabla con los 10 primeros numeros d ela sucesión de FIBONACCI pero no me sale eso, sale 1 2 3 4 5 6 7 8 9 10....
¿Me pueden decir donde estan los errores?

EI: juntando mensajes.

desde luego que :

main()
{ CODIGO REALIZADO
}

Gracias
De todas formas tampoco sale lo que debe salir, ahora simplemente no hay resultado...
Título: Re: errores de programa en C al compilar gcc
Publicado por: Alien-Z en 13 Enero 2012, 11:52 AM
Buenas:

Te comento los errores:

Código (cpp) [Seleccionar]
#include define N=10

Eso no está bien escrito, el "define" se usa sin "include":

Código (cpp) [Seleccionar]
#define N=10

El cuerpo del programa se compone de:

Código (cpp) [Seleccionar]
int main()
{
}


En tu algoritmo no has puesto las llaves.

En el bucle has puesto:
Citartabla=tabla[i-1] + tabla[i-2];

Siempre hay que declarar la posición en la tabla a la que haces referencia, deberías poner:

Código (cpp) [Seleccionar]
tabla[i]=tabla[i-1] + tabla[i-2];

Creo que el "end" final lo has puesto para finalizar el bucle tipo Pascal ¿no? lol; en C/C++ cuando el bucle tiene más de una instrucción se usa llaves para señalar el inicio y fin:

Código (cpp) [Seleccionar]
for (i=2; i<=10; i++)
{       //Inicio
        //Instrucciones que componen el bucle
}     //Fin


Y por último los "%d" van entre comillas. Aqui te dejo el algoritmo corregido:

Código (cpp) [Seleccionar]
#include <stdio.h>
#define N=10

int main ()
{
int tabla[10];
int i;
int aux;

printf("%d", 0);
scanf("%d",&tabla[0]);
printf("%d\n", 1);
scanf("%d",&tabla[1]);

for (i=2;i<=10;i++)
{
tabla[i]=tabla[i-1] + tabla[i-2];
scanf("%d",tabla);
}
}


Saludos.
Título: Re: errores de programa en C al compilar gcc
Publicado por: rir3760 en 13 Enero 2012, 18:40 PM
Cita de: ferminta en 13 Enero 2012, 08:06 AMHe hecho  un programita  en C que exactamente  rellenara una tabla con los 10 primeros números d ela sucesión de Fibonacci.
Abonando a lo ya comentado ...

Lo primero es conseguir (y devorar) un buen libro o manual sobre C, para ello empieza revisando el tema [Libros/Papers] C/C++ (http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html).

Debes eliminar todas la llamadas a scanf ya que no tienen caso, en su lugar coloca un bucle para imprimir los números de la serie:
for (i = 0; i < 10; i++)
   printf(" %d", tabla[i]);
putchar('\n');


También hay que cambiar la definición de la macro "N" (el carácter '=' esta de mas) o bien eliminarla ya que no se utiliza en el programa.

Un saludo