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

faktorijel kod ?greška?

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

[ Pregleda: 897 | Odgovora: 8 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

--daniel--

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



Profil

icon faktorijel kod ?greška?24.09.2006. u 23:10

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!!
24.09.2006. u 23:10 

#Ninja#
Tuzla

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



Profil

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

--daniel--

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



Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 10:52
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!!
25.09.2006. u 10:52 

Mali Misha
Mihajlo Anđelković

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

ICQ: 195487525


Profil

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

Nakon toga bi trebalo da radi kako treba.
Dim di dam...
25.09.2006. u 11:38 

--daniel--

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



Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 13:49
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!!
25.09.2006. u 13:49 

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

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

Jabber: damirm | gmail | com
ICQ: 134002435


Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 14:02
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?
25.09.2006. u 14:02 

srki
Srdjan Mitrovic
Auckland, N.Z.

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



Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 14:19
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;
        }


25.09.2006. u 14:19 

--daniel--

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



Profil

icon Re: faktorijel kod ?greška?25.09.2006. u 14:50
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!!
25.09.2006. u 14:50 

Yu Raider
Ivan Djordjevic
Bgd, SCG

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



Profil

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

SLIder.
28.09.2006. u 22:38 

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

[ Pregleda: 897 | Odgovora: 8 ]

Postavi temu Odgovori

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