banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 20 Maj 2024, 22:01

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 9 Posta ] 
Autoru Poruka
 Tema posta: C++ baterija?
PostPoslato: 27 Okt 2012, 16:26 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
Ko mi moze rijesiti sljedeci zadatak:

Imamo bateriju od 220V. Potrebno je pomocu baterija od a i b volti napraviti tu bateriju od 220V, ako znamo da se baterije a i b vezu redno. Ispisati sve moguce kombinacije i naci kombinaciju koja ce imati najmanje baterija a i najmanje baterija b.


Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 17:33 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
Nadji koji je veci broj od a i b, neka to bude recimo a. Onda trazis faktor x tako da bude x*a % b = 0. Broj a baterija je jednak (220 - x*a)/a, a broj b baterija je jednak x*a/b

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 18:19 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
Hvala puno :)


Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 20:16 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
Sta ne valja? Radi samo do a=5 i b=5

Kod:
#include <iostream>

using namespace std;

int main()
{

   int a,b; cout<<"Voltage of the first battery:"; cin>>a; cout<<"Voltage of the second battery:"; cin>>b;
   int imax,imin;
   int max,min;
   (a>=b)? max=a,min=b: max=b,min=a;

   int spaces=220/min;

   for(int i=1;i<=spaces;i++)
   {
      if(((i*max % min)==0) && ((220-i*max)>0))
      {
         if((double(220-double(i)*double(max)/max)) == ((220-i*max)/max))
         {
         imax=(220-i*max)/max;
         imin=(i*max)/min;
         if(imax*max+imin*min==220)
         {
            (a>=b)? cout<<imax<<"  "<<imin<<endl: cout<<imin<<"  "<<imax<<endl;
         }
         }
      }
   }

   system("PAUSE");
   return EXIT_SUCCESS;

}


Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 20:23 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
Aaa kontam
if((double(220-double(i)*double(max)/max)) == ((220-i*max)/max))
do toga je, trenutno smisljam bolji uslov xD


Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 20:29 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
Hristov je napisao:
Nadji koji je veci broj od a i b, neka to bude recimo a. Onda trazis faktor x tako da bude x*a % b = 0. Broj a baterija je jednak (220 - x*a)/a, a broj b baterija je jednak x*a/b

Ali ne valja to uopste, primjer a=6, b=2, x=1; 1*6%2 = 0, onda (220-1*6)/6 uopste nije cijeli broj xD


Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 20:37 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
.........................................................


Poslednji put menjao AIV dana 27 Okt 2012, 20:45, izmenjena 2 puta

Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 20:45 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
Mislim da sad radi za sve slucajeve:

Kod:
#include <iostream>

using namespace std;

int main()
{

   int a,b; cout<<"Voltage of the first battery:"; cin>>a; cout<<"Voltage of the second battery:"; cin>>b;
   int imax,imin;
   int max,min;
   if(a>=b)
   {
   max=a, min=b;
   }
   else
   {
   max=b,min=a;
   }
   
   int spaces=220/min;
   int x=1;
   for(int i=1;i<=spaces;i++)
   {
      if(((x*max % min)==0) && ((220-x*max)>=0))
      {
         imax=(220-x*max)/max;
         imin=(220-imax*max)/min;
         if(imax*max+imin*min==220)
         {
            (a>=b)? cout<<imax<<"  "<<imin<<endl: cout<<imin<<"  "<<imax<<endl;
         }
      }
      x+=1;
   }

   system("PAUSE");
   return EXIT_SUCCESS;

}


Vrh
 Profil  
 
 Tema posta: Re: C++ baterija?
PostPoslato: 27 Okt 2012, 22:11 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
Kod:
#include <iostream>

using namespace std;

int main(int argc, char *argv[]) {
   int a, b;
   cout << "Voltage of the first battery:"; cin >> a; cout << "Voltage of the second battery:"; cin >> b;
   int max = a > b? a: b;
   for(int x = 1; x <= 220/max; x++) {
        if(!((220 - x*a) % b))
            cout << x << "*" << a << " + " << ((220 - x*a)/b) << "*" << b << "\n";
        if(!((220 - x*b) % a))
            cout << x << "*" << b << " + " << ((220 - x*b)/a) << "*" << a << "\n";
   }
   return 0;
}


Dotjeraj malo ako ti ovako ne odgovara.

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 9 Posta ] 

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 2 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs