Series por recurrencia guardadas en un fichero

Javier Belío Miranda

/* Este programa guarda los n primeros términos
de varias series de números en el fichero series.txt*/

#include<stdio.h>
#include<stdlib.h>

main()
{
    FILE *pf;
    float i, n, numero, num_1, num_2;

    printf("Se va a guardar en un fichero (series.txt) los numeros de diferentes 
             series hasta el n-esimo termino.\n");
    printf("Dame esa n: ");
    scanf("%f", &n);

    //FICHERO
    pf=fopen("series.txt", "w");
    fprintf(pf, "\n\n");
    fprintf(pf, "\tHas elegido %.0f terminos.\n", n);

    fprintf(pf, "\n\tNumeros de Fibonacci: ");
    if (n==1)  fprintf(pf,"1.");
    else if (n==2)  fprintf(pf,"1, 1.");
    else
    {
        fprintf(pf,"1, 1, ");
        num_1=1;
        num_2=1;
        numero=num_1+num_2;
        for (i=3; i<n; i++)
        {
            fprintf(pf, "%.0f, ",numero);
            num_2=num_1;
            num_1=numero;
            numero=num_1+num_2;
        }
        fprintf(pf, "%.0f.\n",numero);
    }
    num_1=0; num_2=0; numero=0;//Puesta a 0 de las variables


    fprintf(pf, "\n\tNumeros triangulares: ");
    for (i=1; i<n; i++)
    {
        numero=numero+i;
        fprintf(pf, "%.0f, ",numero);
    }
    numero=numero+i;
    fprintf(pf, "%.0f.\n",numero);
    num_1=0; num_2=0; numero=0;


    fprintf(pf, "\n\tNumeros de Lucas: ");
    if (n==1)  fprintf(pf,"2.");
    else if (n==2)  fprintf(pf,"2, 1.");
    else
    {
        fprintf(pf,"2, 1, ");
        num_1=2;
        num_2=1;
        numero=num_2+num_1;
        for (i=3; i<n; i++)
        {
            fprintf(pf, "%.0f, ",numero);
            num_1=num_2;
            num_2=numero;
            numero=num_2+num_1;
        }
        fprintf(pf, "%.0f.\n",numero);
    }
    num_1=0; num_2=0; numero=0;


    fprintf(pf, "\n\tNumeros de Pell: ");
    if (n==1)  fprintf(pf,"0.");
    else if (n==2)  fprintf(pf,"0, 1.");
    else
    {
        fprintf(pf,"0, 1, ");
        num_1=0;
        num_2=1;
        numero=2*num_2+num_1;
        for (i=3; i<n; i++)
        {
            fprintf(pf, "%.0f, ",numero);
            num_1=num_2;
            num_2=numero;
            numero=2*num_2+num_1;
        }
        fprintf(pf, "%.0f.\n",numero);
    }
    num_1=0; num_2=0; numero=0;


    fprintf(pf, "\n\tNumeros de Pell-Lucas: ");
    if (n==1)  fprintf(pf,"2.");
    else if (n==2)  fprintf(pf,"2, 2.");
    else
    {
        fprintf(pf,"2, 2, ");
        num_1=2;
        num_2=2;
        numero=2*num_2+num_1;
        for (i=3; i<n; i++)
        {
            fprintf(pf, "%.0f, ",numero);
            num_1=num_2;
            num_2=numero;
            numero=2*num_2+num_1;
        }
        fprintf(pf, "%.0f.\n",numero);
    }
    num_1=0; num_2=0; numero=0;

    fprintf(pf,"\n\tNumeros de Catalan: ");
    float x; //variable de control
    if (n==1) fprintf(pf,"1.");
    if (n==2) fprintf(pf,"1, 1.");
    else
    {
        fprintf(pf,"1, 1, ");
        numero=1;
        for (i=2; i<(n-1); i++)
        {
            numero=((2*(2*i-1))/(i+1))*numero;
            fprintf(pf,"%.0f, ",numero);
            x=i;
        }
        x++;
        numero=((2*(2*x-1))/(x+1))*numero;
        fprintf(pf,"%.0f.",numero);
    }

    fclose(pf);

    printf("\nBusca el archivo series.txt donde has guardado 
               el programa\n");
    return 0;
}
Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s