Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

faktorijel kod ?greška?

[es] :: C/C++ programiranje :: faktorijel kod ?greška?

[ Pregleda: 3134 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

--daniel--

Član broj: 82022
Poruke: 48
*.cmu.carnet.hr.



Profil

icon faktorijel kod ?greška?24.09.2006. u 23:10 - pre 213 meseci
zad: unesi n brojeva za koji treba ucitati faktorijel

Code:


#include <iostream>
const int MAX = 100;
const int D = 100UL;
unsigned long arr[MAX];

main(void){
    int n;
    int i,j,k,a[MAX];
    
    std :: cin >> j;

    for (i=0;i<j;i++)
        std:: cin >> a[i];
    for (i=0;i<j;i++)
    {
        n=a[i];
    arr[MAX - 1] = 1UL;
    for(int i = 1; i <= n; i++){
        unsigned long temp = 0UL;
        for(int j = MAX - 1; j >= 0; j--){
            arr[j] = arr[j] * i + temp;
            temp = arr[j] / D;
            arr[j] %= D;
        }
    }    
    bool lz = true;
    for(int j = 0; j < MAX; j++){
        if(lz && arr[j])
            lz = false;
        if(!lz)
            std :: cout << arr[j];
    }
    std :: cout << "\n";
    }
    system("pause");
    return 0;
}

Tko radi taj i griješ, a tko ne radi već pravi jednu pogrešku!!
 
Odgovor na temu

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.PPPoE-4453.sa.bih.net.ba.



+1 Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 00:25 - pre 213 meseci
Ovo ti je nebulozno. Jednostavno napravi dinamički niz u koji ćeš unijeti elemente i protjeraj ih kroz funkciju za izračunavanje faktoriela.
 
Odgovor na temu

--daniel--

Član broj: 82022
Poruke: 48
*.cmu.carnet.hr.



Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 10:52 - pre 213 meseci
ali mene zanima u čemu je ovdje pogreška i kako da se ispravi da taj kod proradi
Tko radi taj i griješ, a tko ne radi već pravi jednu pogrešku!!
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 11:38 - pre 213 meseci
Na početku stavi:
Code:
const int D = 10UL;

Nakon toga bi trebalo da radi kako treba.
Ipak se ++uje.
 
Odgovor na temu

--daniel--

Član broj: 82022
Poruke: 48
*.cmu.carnet.hr.



Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 13:49 - pre 213 meseci
nakon onog mi nije proradilo..
ali ovo novo radi kako treba:
Code:
#include <iostream>
#include<windows.h>

int main(void) {
  char Fakt[3000];
  long N,I,J,produkt,preko,broj;
  int i,k,a[101];
  
  std::cin >> k;

  N=k;
  for (i=0;i<k;i++)
      std::cin>>a[i];
  for (i=0;i<k;i++)
  {
      N=a[i];  
      Fakt[0]=1; broj=1;
      for(I=1;I<=N;I++) {
        preko=0;
        for(J=0;J<broj;J++) {
          produkt=Fakt[J]*I+preko; Fakt[J]=produkt%10; preko=produkt/10;
        }
        while(preko) {
          Fakt[broj++]=preko%10; preko/=10;
        }
      }
      for(J=broj-1;J>=0;J--){ std::cout << (int)Fakt[J];  }
      std::cout <<"\n";
  }
  system("pause");
  return 0;
}

Tko radi taj i griješ, a tko ne radi već pravi jednu pogrešku!!
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 14:02 - pre 213 meseci
Mozes li da iskomentarises ovaj kod, jer ovoliki kod za takvu banalnost kao sto je faktorijel je malo teze skapirati.
I kako to mislis (u samom zadatku) za koji treba "ucitati faktorijel"? Valjda izracunati?
JaFreelancer.com
 
Odgovor na temu

srki
Srdjan Mitrovic
Auckland, N.Z.

Član broj: 2237
Poruke: 3654
*.jetstream.xtra.co.nz.



+3 Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 14:19 - pre 213 meseci
Vrider, zar ne vidis char Fakt[3000];
To bi valjda trebalo da ti kaze da se radi o tome da je cilj da se nadju veliki faktorijeli koji imaju do 3000 cifara.

ovaj ovde deo ti implementira mnozenje sa velikim brojevima:
Code:

        preko=0;
        for(J=0;J<broj;J++) {
          produkt=Fakt[J]*I+preko; Fakt[J]=produkt%10; preko=produkt/10;
        }
        while(preko) {
          Fakt[broj++]=preko%10; preko/=10;
        }


 
Odgovor na temu

--daniel--

Član broj: 82022
Poruke: 48
*.cmu.carnet.hr.



Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 14:50 - pre 213 meseci
Citat:
VRider: Mozes li da iskomentarises ovaj kod, jer ovoliki kod za takvu banalnost kao sto je faktorijel je malo teze skapirati.
I kako to mislis (u samom zadatku) za koji treba "ucitati faktorijel"? Valjda izracunati?

prijatelju ako nemožeš da shvatiš da se radi o većim faktorijelima onda se zapitaj neke stvari..ili sam ja krivo shvatio tvoj odgovor pa to znači da ti znaš puno manji kod za izračunavanje recimo 100! pa ako je tako de ga stavi dobro bi mi došao.
ps. i da ide izracunati, a ne ucitati
Tko radi taj i griješ, a tko ne radi već pravi jednu pogrešku!!
 
Odgovor na temu

Yu Raider
Ivan Djordjevic
Bg

Član broj: 40731
Poruke: 273
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: faktorijel kod ?greška?28.09.2006. u 22:38 - pre 213 meseci
Mislim da bi rekurzija za izračunavanje faktorijela bila mnogo... čitljivija i da bi kod bio lepši.

SLIder.
 
Odgovor na temu

[es] :: C/C++ programiranje :: faktorijel kod ?greška?

[ Pregleda: 3134 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.