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.
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

Primer ulaza i željenog izlaza

Ulaz:
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.

Rešenje u C++

#include <iostream>
#include<math.h>
using namespacestd;
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