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

resio sam

[es] :: C/C++ programiranje :: resio sam

[ Pregleda: 2949 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nemanja
Informatiker

Član broj: 4663
Poruke: 1526
*.zre.sezampro.yu



+555 Profil

icon resio sam29.08.2003. u 18:59 - pre 220 meseci
Zadacic sam resio,listing je ispod, samo ono sto nisam ocekivao od ovog foruma to je napadanje kada je neko nespreman ili ga mrzi da drugom pomogne.
Nije u pitanju ovaj skolski primer sa testa vec princip. Ako neko hoce moze da ga optimizuje, meni je samo bitno da radi!

Code:

class bignum
{
 char broj[100];
 public:
 bignum () {strcpy(broj,"0");}
 bignum (char *novi) {strcpy(broj,novi);}
 ~bignum () {};
 void Unos () {cout<<"\nUnesite broj\t";cin>>broj;}
 void Prikaz () {cout<<broj;}
 bignum operator- (bignum);
 void zameni (int *,int *);

 };

 void bignum::zameni (int *a,int *b)
 {
  int temp;
  temp=*a;
  *a=*b;
  *b=temp;
 }

bignum bignum::operator- (bignum drugi)
{

  bignum z;
  int i=strlen(broj)-1,j=strlen(drugi.broj)-1;  
  int pom,br,veci,prenos=0,znak=0,k=(i>j?i:j);

     char duzi[100],kraci[100];

     if (i>j) {strcpy(duzi,broj); strcpy(kraci,drugi.broj);}
     else if (i<j) {strcpy(duzi,drugi.broj);strcpy(kraci,broj);znak=1;}
     else
     { veci=strcmp(broj,drugi.broj);

      if (veci>0) {strcpy(duzi,broj); strcpy(kraci,drugi.broj);}
      else {strcpy(duzi,drugi.broj);strcpy(kraci,broj);znak=1;}

     }


      z.broj[k+1]='\0';
      if (k==j) zameni (&i,&j);

      for(i,j;i>=0 || j>=0;i--,j--)
      {
      if ((pom=((duzi[i]-48)-(j<0?0:kraci[j]-48)-prenos))>=0)
      {br=pom;prenos=0;}
      else
      {br=(duzi[i]-48)+10-(j<0?0:kraci[j]-48)-prenos;prenos=1;}

      z.broj[k--]=br+48;

      }

      if (znak==1) {char temp[100]="-";strcat(temp,z.broj);strcpy(z.broj,temp);}
      if (z.broj[0]=='0') z.broj[0]=' ';

  return z;
}  

 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: resio sam12.10.2003. u 16:37 - pre 219 meseci
Kao što mnogi nisu spremni da prihvate, pomaganje je uzajamna pojava. Koliko si spreman da ponudiš obično se toliko i vrati.

Odlično je što si rešio svoj problem.

f
 
Odgovor na temu

[es] :: C/C++ programiranje :: resio sam

[ Pregleda: 2949 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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