16. Bejzbol-rešenje
U zadatku se učitavaju skokovi takmičara u jardima, stopama i inčima, a zatim se traži najduži skok i prikazuje u metrima i centimetrima.
Napomena: Jedan inč ima 2,54 centimetra. Jedna stopa ima 12 inča, a jedan jard ima 3 stope.
Napomena: Jedan inč ima 2,54 centimetra. Jedna stopa ima 12 inča, a jedan jard ima 3 stope.
Da bi smo rešili ovaj zadatak potrebno je kroz petlju učitati vrednosti tekućeg skoka datog u jardima jard stopama st i inčima inc, i unutar tekućeg ciklusa pretvoriti sve u inče. Takoće tokom ciklusa odrediti maksimum ovako pretvorenih vrednosti u inče što će zapravo predstavljati najveću dužinu skoka.
Kada se odredi maksimalna dužina skoka u inčima, treba je pretvoriti u metre i centimetre. Za ovo se mogu koristiti operatori moduo(%) i podeljeno(/) , gde % daje ostatak kada se broj deli sa 100 (centimetri), dok / daje celobrojni rezultat (metri), kao što je objašnjeno u zadacima 1 i 2 na strani: Operatori-primeri
Kada se odredi maksimalna dužina skoka u inčima, treba je pretvoriti u metre i centimetre. Za ovo se mogu koristiti operatori moduo(%) i podeljeno(/) , gde % daje ostatak kada se broj deli sa 100 (centimetri), dok / daje celobrojni rezultat (metri), kao što je objašnjeno u zadacima 1 i 2 na strani: Operatori-primeri
Primer ulaza i željenog izlaza
Ulaz:
18 2 7
18 1 7
14 0 9
Izlaz:
17 25
18 2 7
18 1 7
14 0 9
Izlaz:
17 25
Program podrazumeva unos za samo tri skoka, ali da se broj skokova lako može prilagoditi menjanjem broja iteracija u for petlji.
Napomena: Izlaz formata "metri centimetri" je bez dodatnih reči.
Napomena: Izlaz formata "metri centimetri" je bez dodatnih reči.
Rešenje u C++
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
int jard,stopa,inci;
int incHitac,incMax=0; //tekući hitac u inčima, maksimalni hitac inicijalizovan na nulu
int m, cm; //metri, centimetri
for(int i=0; i<3; i++)
{
cin >> jard >> stopa >> inci;
incHitac=3*12*jard+12*stopa+inci; //pretvara duzinu hica potpuno u ince
if(incHitac > incMax)
{
incMax=incHitac; // Ažurira maksimalnu dužinu
}
}
m=(int)(round(incMax*2.54)); //Pretvaranje maksimalne dužine iz inča u centimetre i zaokruživanje na najbliži ceo broj.
cm=m%100; //ostatak u cm
m=m/100; //maksimalni hitac u metrima
cout << m << " " << cm << endl;
return 0;
}
#include<math.h>
using namespace std;
int main()
{
int jard,stopa,inci;
int incHitac,incMax=0; //tekući hitac u inčima, maksimalni hitac inicijalizovan na nulu
int m, cm; //metri, centimetri
for(int i=0; i<3; i++)
{
cin >> jard >> stopa >> inci;
incHitac=3*12*jard+12*stopa+inci; //pretvara duzinu hica potpuno u ince
if(incHitac > incMax)
{
incMax=incHitac; // Ažurira maksimalnu dužinu
}
}
m=(int)(round(incMax*2.54)); //Pretvaranje maksimalne dužine iz inča u centimetre i zaokruživanje na najbliži ceo broj.
cm=m%100; //ostatak u cm
m=m/100; //maksimalni hitac u metrima
cout << m << " " << cm << endl;
return 0;
}
Prethodno
|< Opštinska takmičenja
|< Opštinska takmičenja