8.5.. Napisati program za ispis pravouglog trougla kao na slici sa željenim brojem redova:
.
Opis programa: Na slici je prikazan odnos redova i kolona.
 |
| Slika 1. Sporedna dijagonala i + j = n - 1 |
Listing programa:
I varijanta prva kolona if (j == 1); ostale kolone else
// 08514034
#include <iostream>
using namespace std;
int main()
{
int i, j, n;
cout << "Do broja: ";
cin >> n; // dimenzija matrice
for (i = 0; i < n; i++) { // redovi od i = 0 do n-1;
for (j = 0; j < n; j++) { // kolone od j = 0 do n-1;
if (i + j < n - 1) // iznad sporedne dijagonale?
cout << " "; // iznad sporedne dijagonale prazno mjesto 4x
if (i + j == n - 1) // sporedna dijagonala?
cout << "x "; // ispis prvog znaka
if (i + j > n - 1) // ispod sporedne dijagonale?
cout << "3 x "; // ispod sporedne dijagonale, 3 i x
}
cout << "\n"; // novi red, cout << endl;
}
return 0;
}
II varijanta iznad sporedne dijagonale for (j = 0; j < n - i - 1; ispis na dijagonali slijedeća naredba cout << "x "; i na kraju ispis I x
// 08514034
#include <iostream>
using namespace std;
int main ()
{
int i, j, n, k;
cout << "Do broja: "; // dimenzija matrice
cin >> n;
for (i = 0; i < n; i++) { // redovi od i = 0 do n-1;
for (j = 0; j < n - i - 1; j++) // do sporedne dijagonala, iznad sporedene dijagonale
cout << " "; // iznad sporedne dijagonale
cout << "x "; // sporedna dijagonala, znak i jedno prazno mjesto
for (k = 0; k < i; k++) // ispod sporedne dijagonale
cout << "3 x "; // 3 i x
cout << "\n"; // novi red, cout << endl;
}
return 0;
}
III varijanta prva kolona if (j == 1); ostale kolone else
// 08514034
#include <iostream>
using namespace std;
int main()
{
int i, j, n;
char znak1, znak2;
cout << "Do broja: ";
cin >> n; // dimenzija matrice
cout << "Otkucaj znak1: ";
cin >> znak1; // znak1
cout << "Otkucaj znak2: ";
cin >> znak2; // znak2
for (i = 0; i < n; i++) { // redovi od i = 0 do n-1;
for (j = 0; j < n; j++) { // kolone od j = 0 do n-1;
if (i + j < n - 1) // iznad sporedne dijagonale?
cout << " "; // iznad sporedne dijagonale prazno mjesto 4x
if (i + j == n - 1) // sporedna dijagonala?
cout << znak1 << " "; // ispis prvog znaka i prazno mjesto, sporedna dijagonala
if (i + j > n - 1) // ispod sporedne dijagonale?
cout << znak2 << " " << znak1 << " "; // ispod sporedne dijagonale
}
cout << "\n"; // novi red, cout << endl;
}
return 0;
}
IV varijanta iznad sporedne dijagonale for (j = 0; j < n - i - 1; ispis na dijagonali slijedeća naredba cout << "x "; i na kraju ispis I x
// 08514034
#include <iostream>
using namespace std;
int main ()
{
int i, j, n, k;
char znak1, znak2;
cout << "Do broja: ";
cin >> n; // dimenzija matrice
cout << "Otkucaj znak1: ";
cin >> znak1; // znak1
cout << "Otkucaj znak2: ";
cin >> znak2; // znak2
for (i = 0; i < n; i++) { // redovi od i = 0 do n-1;
for (j = 0; j < n - i - 1; j++) // do sporedne dijagonala, iznad sporedene dijagonale
cout << " "; // iznad sporedne dijagonale
cout << znak1 << " "; // ispis prvog znaka i prazno mjesto, sporedna dijagonala
for (k = 0; k < i; k++) // ispod sporedne dijagonale
cout << znak2 << " " << znak1 << " "; // ispod sporedne dijagonale
cout << "\n"; // novi red, cout << endl;
}
return 0;
}
Ispis na ekranu:

Index
|
 |