Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

[Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N

  • 9 odgovora
  • 10.623 pregleda

Najnovija ↓

[Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 19.01.2009. u 18:00 · pre 216 meseci
izmenjeno 1 put, poslednji put X Files 19.01.2009. u 21:25
  1. X Files19.01.2009. u 21:25zapis iz teksta poruke
#1
pozdrav svima
s obzirom da sam pocetnik u programiranju i ne kuzim dosta toga, uz pomoc primjera, skripti sam pokusao rijesit jedan zadatak.
vjerujem da dosta toga ne valja, pa ako neko moze ispravit sto ne valja i ukratko objasnit zasto to nije dobro.

hvala svima unaprijed

zadatak je:

Napisati program koji ce unijeti cijeli broj N sa tipkovnice. N mora biti pozitivan broj,
a unos treba ponavljati sve dok se ne unese broj koji zadovoljava taj kriterij. Nakon
unosa izracunati i ispisati na ekran faktorijel tog broja.
Code:

#include <stdio.h>

int main()
{
    int N;
    int i;
    int nFact = 1;
 
    do
    {
        nFact *= i;
        i++;
    }while (i <= N);
    
}
    int N;
    
    while (1)
    {
          cout << "Unesite broj za koji zelite izracunati faktorijel" << endl;
    }
    
    cout << Faktorijel broja iznosi: " << endl;
    
    getchar();
    return0;

}
Re: [Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 19.01.2009. u 18:30 · pre 216 meseci #2
Evo šeme algoritma za tvoj zadatak. Hajde probaj po ovome da napišeš program. Obe petlje su do..while pošto je uslov na kraju.

Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Re: [Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 19.01.2009. u 18:58 · pre 216 meseci
izmenjeno 1 put, poslednji put X Files 19.01.2009. u 21:26
  1. X Files19.01.2009. u 21:26zapis iz teksta poruke
#3
evo nest sam probao, muljao...pokrene mi se program al nema nikakvog texta. ajde pomagaj kolega. ne kuzim ti ja bas to

Code:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int N;
    int nFact = 1;
    do
    {
        cin >> N;
        }while (N>0);
        
        do
        {
               nFact *= 1;
               N--;
               
               }while (N>0);

               {

               cout << "Unesite broj za koji zelite izracunati faktorijel: " << endl;
              
        }

               cout << "Faktorijel broja iznosi: " << endl;
               
    getchar();

}



EDIT: X Files : Molim Vas da zbog preglednosti, kod upisujete između tag-ova predviđenih za to:

[code]
int main ( int argc, char *argv[] )
{
// ...
return 0;
}
[/code]
Re: [Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 19.01.2009. u 21:36 · pre 216 meseci #5
Na osnovu vec ponudjenog algoritma, pokusaj ovo /netestirano/
Code:

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    int N;
    do
    {
        cout << "Upisite N: ";
        cin >> N;
    } while ( N < 1 );


    int nFact = 1;
    do
    {
        nFact *= N;
        N--;

    } while ( N>0 );

    cout << "Faktorijel broja iznosi: " << nFact << endl;

    getchar();
    return 0;
}

Re: [Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 19.01.2009. u 23:49 · pre 216 meseci #6
@sneijder Nisi pažljiv i brzaš, a to se u programiranju ne prašta. Vidiš da si promašio uslov za izlazak iz prve petlje (program je u petlji dok god se unosi vrednost veća od nule, a treba obrnuto, "N <= 0"). Takođe onaj ispis "unesite broj" valjda treba da stoji pre učitavanja (cin >> N). U faktorijelu, zašto množiš sa 1 kada u algoritmu lepo piše da se množi sa N? Na kraju nisi ispisao vrednost faktorijela (nedostaje ti "<< nFakt" pre kraja cout naredbe).
Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Re: [Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 20.01.2009. u 00:56 · pre 216 meseci #7
gorane hvala puno na pomoci, izmijenio sam to. al sad sam ostao bez jedne petlje, program se pokrene i bez nje. jel ona uopce potrebna??
e sad, program se pokrene, upisem neki broj, i on se odmah zatvori. jel to isto mora tako biti ili? ispricavam se sto gnjavim tolko al stvarno sam tek poceo radit s tim, pokusavam nest skuzit, a taj projekt mi je uvjet za izlazak na ispit, pa ako moze pomoc.



#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int N;
int nFact = 1;

do
{
nFact *= N;
N--;

}while (N <= 0);

{
cout << "Unesite broj za koji zelite izracunati faktorijel: " << endl;
cin >> N;
}

cout << "Faktorijel broja iznosi: " << nFact << endl;

getchar();

}
Re: [Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 26.01.2009. u 21:16 · pre 216 meseci #8
zasto stavljas while N<=0... ti trazis dok ti je vece

evo, npr. ovako radi

Code:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
    int N;
    int nFact = 1;
    cout << "Unesite broj za koji zelite izracunati faktorijel: " << endl;
    cin >> N;
do{
    nFact *= N;
    N--;

}while (N != 0);


cout << "Faktorijel broja iznosi: " << nFact << endl;


system ("pause");
return 0;
}

Re: [Zadatak] Izracunavanje faktorijela uz kontrolu ispravanosti unosa broja N 20.04.2009. u 15:15 · pre 213 meseci #9
Da se pridruzim sa malim zakasnjenjem u rjesavanju ovog zadatka.
Predlozena rjesenja imaju ogranicenje u broju za koji se trazi faktorijel (mislim da je do 19) u ovom mom primjeru je ogranicenje na 38, meni je potrebno da izbjegnem ovo ogranicenje kako to izvesti ??
Neke instrukcije su kao da se rezultat ispisuje kao jednodimenzionalni niz ??? ako neko uspije da ovo ogranicenje prebrodi na ovaj nacin zamolio bi ga da sto prije postavi rjesenje Hvala

Moj prijedlog

Code:

#include <cstdlib>
#include <iostream>
#include <iomanip.h>
/
using namespace std;
// Zadatak  Izracunati faktoriel nenegativnog broja


int main()
{
  int N,M;
 long double fakt;
    ponovi:
    cout<<"Unesite cijeli nenegativni broj za koji zelite izracunati faktorijel: "<<endl;
    cin>>N;
    cout<<endl;
    if (N<0)
    {
             cout<<"Unijeti broj mora biti veci od 0"<<endl;
             goto ponovi;
             }
               
    fakt=1;
    M=N;
    while (M>1)
    {
            fakt=fakt*M;
            M=M-1;
           
    }
     cout<<fixed<<"Faktorijel broja "<<setprecision(0)<< N<<" je: "<<fakt<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
    
}



pozdrav
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme