[ dean25 @ 12.10.2011. 16:13 ] @
Eh ovako,

za pocetak POCETNIK sam i nemojte me zasuti sa milion izraza vec polako!

Trebao bih napisati program koji uz pomoc petlje niz brojeva ispisuje.

Za pocetak potrebno je zadati sumu nekog mnogocifrenog broja (recimo da ta suma iznosi 15) - ovo treba da bude u programu a ne da se zada preko tastature.

Tome treba dodati da svaka druga cifra od 1 do nase sume (15) treba biti ispisana u fakultativnom obliku ako je suma neparna, ako je parna onda pocinje od 2 pa opet svaka druga do nase sume.

"faktorijel broja 5 = 5 * 4 * 3 * 2 * 1"

Svemu tome treba da bude zarez nekon ispisane vrijednosti sa 6 dodatnih decimala. (5! = 5*4*3*2*1 = 120,000000e+00)

Suma s = 8
Izdaje:

2.000000e+00
2.400000e+01
7.200000e+02
4.032000e+04

Objasnjenje:

2 = 2! = 2 * 1
24 = 4! = 4 * 3 * 2 * 1
720 = 6! = 6 * 5 * 4 * 3 * 2 * 1
40320 = 8! = 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1




Suma s = 7

Izdaje:

1.000000e+00
6.000000e+00
1.200000e+02
5.040000e+03

Objasnjenje

1 = 1!
6 = 3! = 3 * 2 * 1
120 = 5! = 5 * 4 * 3 * 2 * 1
5040 = 7! = 7 * 6 * 5 * 4 * 3 * 2 * 1


Eh sad sam ja to pokusao napisati, ali me nesto zeza... Ne mogu skontati u cemu je fora:

Code:
#include<stdio.h>

int main()
{

    int s = 16;
    int n = 1;
    int i, j;
    double f = 1;
    if(s%2)
    for(i = 1; i <= s; i += 2)
    {
        printf("ungerade i: %d\n", i);
        for(j = i; j >= 1; j--)
        {
        f *= j;
        }

        printf("faktorijal i: %e\n", f);

    }

    else
    for(i = 2; i <= s; i += 2)
    {
        for(j = i; j >= 1; j-- )
        {
        f = f * i;

        }
        printf("gerade i: %d\n", i);
        printf("faktorijel ist: %e\n", f);




    }

    return 0;
}



Moze li mi iko pomoci?

Prijedlog kako da se izmjeni code, sta da se zamjeni, druge mogucnosti...?

Unaprijed hvala...
[ Mihajlo Cvetanović @ 12.10.2011. 16:54 ] @
Prvo što upada u oči je da promenljivu f moraš da postaviš na 1 svaki put pred računanja faktorijela, inače se pamti stara vrednost, i rezultat bude pogrešan. Ubaci f=1 pre obe unutrašnje petlje. Ako i dalje budeš dobijao neodgovarajući rezultat onda postavi ovde taj rezultat i objasni zašto je neodgovarajući.
[ dean25 @ 12.10.2011. 17:20 ] @
Hvala na odgovoru... Sada radi kako treba