Professional Documents
Culture Documents
I Kolokvij Rijesenja Zadataka-Uvod U Programiranje
I Kolokvij Rijesenja Zadataka-Uvod U Programiranje
#include <iostream>
using namespace std;
int main()
{
short m,n;
// 1. Dio: Preuzimanje vrijednost sa tastature
cout << "Unesite prirodan broj M: ";
while(!(cin >> m))
{
cout << "Niste unijeli broj! Unesite ponovo: ";
cin.clear();
cin.ignore(10000, 10);
}
cout << "Unesite prirodan broj N: ";
while(!(cin >> n))
{
cout << "Niste unijeli broj! Unesite ponovo: ";
cin.clear();
cin.ignore(10000, 10);
}
// 2. Dio: Ispis
/*
Ispis dijelo na tri cijeline
2.1 Ispis gornjeg dijela figure, bez sredinje linije
2.2 Ispis sredinje linije (odnosno dvije ako je M parno)
2.3 Ispis donjeg dijela figure, bez sredinje linije
*/
// pr je pomocna varijabla koja sadrzi visinu (i irinu) pravouglo trougla
koji ostaje s lijeve strane figure
// ova vrijednost je jednaka visini figure do sredinje linije, kao i
broju blankova u prvoj liniji (i koji
// se smanjuje kako figura "raster" prema dolje
// Koristi se "cjelobrojno dijeljenje" kako bi se simulirala funkcija
"floor"
short pr=((m-1)/2);
/* Prva trecina ispisa
It. var. "i" nam oznacava red koji generisemo. Gornji dio figure se
sastoji iz "pr" redova, pri cemu
- brojimo unatrag (mozemo i unaprijed, ali moramo modifikovati algoritam
koji generie blanks)
- svaki red ima vodecih "i" praznih mjesta (blanks)
- u prvom redu, tj. ako je i == pr, slijedi "n" zvijezdica
- u ostalim redovima imamo jednu zvijezdicu, pa "n-2" prazna mjesta, pa
jo jednu zvijezdicu
*/