8.5.. Napisati program za ispis 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 == 0); ostale kolone else
// 08514025
#include <iostream>

using namespace std;
int main()
{
    int i, j, n;

    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; j++)         // kolone od j = 0 do n-1;   
            if (i + j <= n - 1)         // iznad sporedne dijagonale?
                if (j == 0)             // prva kolona?
                    cout << "x ";       // prva kolona
                else
                    cout << "3 x ";     // ostale kolone
        cout << "\n";                   // novi red, cout << endl;
    }
    return 0;
}


II varijanta   prva kolona if (j == 1); ostale kolone else
// 08514025
#include <iostream>

using namespace std;
int main()
{
    int i, j, n;

    cout << "Do broja: ";         // dimenzija matrice
    cin >> n;

    for (i = 0; i < n; i++) {   // redovi od i = 0 do n-1; 
        cout << "x ";           // prva kolona
        for (j = 1; j <= n - i - 1; j++) // iznad sporedne dijagonale; j = 1 - bez prvog elementa
            cout << "3 x ";     // ostale kolone
        cout << "\n";           // novi red, cout << endl;
    }
    return 0;
}


III varijanta   prva kolona if (j == 1); ostale kolone else;  cin >> znak1, znak2;
// 08514025
#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?
                if (j == 0)             // prva kolona?
                    cout << znak1 << " "; // prva kolona
                else
                    cout << znak2 << " " << znak1 << " ";   // ostale kolone
        cout << "\n";                   // novi red, cout << endl;
    }
    return 0;
}


IV varijanta   prva kolona if (j == 1); ostale kolone else;   cin >> znak1, znak2;
// 08514025
#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; 
        cout << znak1 << " ";   // ispis prvog znaka
        for (j = 1; j <= n - i - 1; j++) // iznad sporedne dijagonale; j = 1 - bez prvog elementa
            cout << znak2 << " " << znak1 << " ";  // ostale kolone
        cout << "\n";           // novi red, cout << endl;
    }
    return 0;
}

Ispis na ekranu:

Index