#include <iostream>
using namespace std;
int m; //metai pirmi
int n; //metai paskutiniai
int i;
int main()
{
cout << "KELIAMIEJI METAI" << endl;
cout << "Kokia bus laikotarpio pradzia? ";
cin >> m;
cout << "Pabaiga ";
cin >> n;
for (i= m; i <= n; i++)
{
if (i % 4 == 0 ) //dalijasi iš 4 be leikanos
if (i % 100 != 0) //ir nėra šimtmečių metai
cout <<" keliamieji metai "<< i <<endl;
//yra šimtmečių metai
else if (i % 400 == 0) //ar dalijasi iš 400 be liekanos
cout <<" keliamieji šimtmečių metai "<< i << endl;
}
return 0;
}
************************************************************************
//šviesoforas
#include <iostream>
using namespace std;
int t; //laikas minutėmis
int x; //liekana
int main()
{
cout << "kiek praėjo minučių "; cin >> t;
x = t % 5;
if (x == 0)
cout <<"dega raudona šviesa, tuoj užsidegs žalia"<< endl;
else if (x < 3)
cout <<"dega žalia šviesa" << endl;
else if (x == 3)
cout <<"dega žalia šviesa, tuoj užsidegs raudona" << endl;
else cout <<"dega raudona šviesa" << endl;
return 0;
}
Modifikuokite programą, kuri atsižvelgtų į tai kad pirmąsias 3 minutes dega žalia šviesa, kitas dvi - geltona ir dar dvi - raudona.
************************************************************************
//geležinkelio stotys
#include <iostream>
using namespace std;
int n, //A stotis - n-tajame kilometre
m, //B stotis - m- tajame kilometre
p; //C stotis - p-tajame kilometre
int ab, //atstumas tarp A ir B
ac, //atstumas tarp A ir C
bc; //atstumas tarp B ir C
int main ()
{
cout <<"Kuriame kilometre yra stotis A? - "; cin >> n;
cout <<"Kuriame kilometre yra stotis B? - "; cin >> m;
cout <<"Kuriame kilometre yra stotis C? - "; cin >> p;
cout << endl <<"------------------------------------------"<< endl;
if (n > m)
ab = n - m;
else ab = m - n;
cout << "AB=" << ab << endl;
if (n > p)
ac = n - p;
else ac = p - n;
cout << "AC=" << ac <<endl;
if (p > m)
bc = p - m;
else bc = m - p;
cout << "BC=" << bc <<endl;
if (ab + bc == ac)
{
if (ab < bc) cout << "Atstumas mažiausias tarp A ir B stočių";
else if (ab == bc) cout <<"Atstumai mažsiausi tarp A ir B bei B ir C stočių ";
else cout << "Atstumas mažiausiais tarp B ir C stočių";
}
if (ac + bc == ab)
{
if (ac < bc) cout << "Atstumas mažiausias tarp A ir C stočių";
else if (ac == bc) cout <<"Atstumai mažsiausi tarp A ir C bei B ir C stočių ";
else cout << "Atstumas mažiausias tarp B ir C stočių";
}
if (ab + ac == bc)
{
if (ab < ac) cout << "Atstumas mažiausias tarp A ir B stočių";
else if (ab == ac) cout <<"Atstumai mažsiausi tarp A ir B bei A ir C stočių ";
else cout << "Atstumas mažiausias tarp A ir C stočių";
}
return 0;
}
************************************************************************
************************************************************************
Slidinėjimo kurortai
Osvaldas nori savaitę slidinėti viename iš kurortų. Kurorte A slidinėjimo sezonas prasideda lapkričio, o baigiasi balandžio mėnesį, bet dėl lavinų pavojaus visą sausį slidinėti negalima. Kurorte B slidinėjama nuo gruodžio pradžios iki kovo pabaigos, tačiau vasario 1-15 dienomis ten vyksta varžybos. Kurorte C slidininkai laukiami nuo lapkričio pradžios iki gegužės pabaigos. Poilsio kaina kiekviename kurorte, įtraukus kelionės išlaidas, atitinkamai yra k1, k2, k3 litų. Žinodami atostogų pradžios datą (mėnesį m ir dieną d), nustatykite, ar Osvalds galės atostogauti bent viename kurorte. Jeigu taip, tai kurį kurortą jam rinktis, kad išleistų mažiausiai pinigų.
Pasitikrinkite,
kai m = 2, d = 5, k1 = 500, k2 = 520, k3 = 499, turėtumėte spausdinti:
Osvaldas galės slidinėti kurorte C. Jam reikės 449 Lt.
kai m = 11, d = 20, k1 = 400, k2 = 350, k3 = 420, turėtumėte spausdinti:
Osvaldas galės slidinėti kurorte A. Jam reikės 400 Lt.
************************************************************************
#include <iostream>
#include <conio.h>
using namespace std;
//==================================================================================
char kuris(int m, int d, int k1, int k2, int k3); //tinka reikšmę sugrąžina
//==================================================================================
void spausdinam(int k1, int k2, int k3, char kurortas);
//==================================================================================
int main() {
int m, //Atostogų mienuo
d; //Atostogų diena
int k1, k2, k3; //Kurortui reikalingi pinigai
char tinka, kurortas; //kuris kurortas tinka
cout << "Atostogų pradžios mėnuo [m]: "; cin >> m;
cout << "Atostogų pradžios diena [d]: "; cin >> d;
bool ne_slid_sezonas = (m >= 6) && (m < 10);
// Tikrinama ar atostogos slidinejimo sezono metu
if (ne_slid_sezonas)
cout <<endl<< "Osvaldo atostogos ne slidinėjimo sezonu!"<< endl;
else
{
cout << "A kurorto kaina [k1]: "; cin >> k1;
cout << "B kurorto kaina [k3]: "; cin >> k2;
cout << "C kurorto kaina [k3]: "; cin >> k3;
kurortas = kuris(m, d, k1, k2, k3);
//išsiaiškiname, kuriame kurorte pigiausia Osvaldo atostogų metu
spausdinam (k1, k2, k3, kurortas);
}
return 0;
}
//surandame, kuriame gali atostogauti už mažiausią kainą
//====================================================================================
char kuris(int m, int d, int k1, int k2, int k3) //tinka reikšmę sugrąžina
{
char tinka = 'C'; //kurortas C tinka visada
bool A = 1; // Kurortas A
bool B = 1; // Kurortas B
bool C = 1; // Kurortas C
if (m == 1 or m == 5) { A = 0; }
// Jeigu mėnuo sausis ar geguze, kurortas A atkrenta...
if ((m == 11 or m >= 4) or (m == 2 and d <= 15)) { B = 0; }
// Jeigu mėnuo 11, 4, 5, arba 2 ir diena <= 15, kurortas B atkrenta...
cout << "A= "<< A <<" B= "<< B <<" C= "<< C << endl;
//pasitikriname, 1 - galima slidinėti, 0 - negalima
//kur pigiausia aiškinamės
if (k1 <= k2){
if (k1 < k3) if (A) tinka = 'A';
else if (k2 < k3 and B) tinka ='B';
}
else {
if (k2 < k3 and B) tinka = 'B';
else if (k1 < k3 and A ) tinka = 'A';
}
return tinka;
}
//====================================================================================
void spausdinam(int k1, int k2, int k3, char kurortas)
{
cout << "**************************************************************"<<endl;
cout << "Osvaldas galės slidinėti kurorte " << kurortas << " Jam reikės -->";
if (kurortas == 'C'){
cout << k3 << "Lt.";
}
else if (kurortas =='B'){
cout << k2 << "Lt.";
}
else {
cout << k1 << "Lt.";
}
}
Keliamieji metai
Keliamieji metai turi 366 dienas, paprastieji - 365. Keliamaisiais vadinami tie metai, kurie be liekanos dalijasi iš 4. Šimtmečių metais laikomi tie, kurie be liekanos dalijasi iš 400.
Parašykite programą, kuri parodytų ekrane, kurie laikotarpio nuo m iki n -tųjų metai yra keliamieji.
Pasitikrinkite,
kai m = 1999, n = 2010,
keliamieji metai yra 2000, 2004, 2008.
Šviesoforas
Šviesoforas veikia pagal tokį algoritmą: kiekvienos valandos pirmąsias tris minutes dega žalia šviesa, po to dvi minutes - raudona, po to vėl 3 minutes žalia ir t.t. Žinoma, kiek minučių t (t - sveikasis skaičius) praėjo nuo valandos pradžios. Parašyti programą, kuri nustatytų, kokia dega šviesa.
Pasitikrinkite,
kai t = 12, turi būti spausdinama:
Dega žalia šviesa
kai t = 13, turi būti spausdinama:
Dega žalia šviesa, tuoj užsidegs raudona.
kai t = 5, turi būti spausdinama:
Dega raudona šviesa, tuoj užsidegs žalia.
Geležinkelio stotys
Geležinkelio stotys A, B ir C yra atitinkamai n-ajame, m-ajame ir p-ajame geležinkelio ruožo kilometruose. Parašykite programą, kuri apskaičiuotų, tarp kurių stočių atstumas yra mažiausias. Stotys nebūtinai įvardytos abėcėlės tvarka, pvz. po stoties A gali sekti C. Pasitikrinkite,
kai n = 3, m = 8, p = 15, tai spausdinama:
Atstumas mažiausias tarp A ir B stočių.
kai n = 3, m = 9, p = 15, spausdinama:
Atstumai mažiausi tarp A ir B bei B ir C stočių
kai n = 3, m = 15, p = 9, spausdinama:
Atstumai mažiausi tarp A ir C bei B ir C stočių.