9.4. Napisati rekurzivnu funkciju void koja za dato n iscrtava trougao dimenzije n x n. Napr za n=7:

Opis programa: Na slici je prikazan odnos redova i kolona.

Slika 1. Glavna dijagonala i=j

Listing programa:

/* 09413124 nacrtaj trougao */
#include <cstdlib>
#include <iostream>
using namespace std;
  
void ispisi_red(int j)  {    // ispis reda
    if (j == 0)  return;     // kraj reda
    cout << j;              // ispis znak  

    ispisi_red(j - 1);       // rekurzija, ispsi slijedeci znak u redu 
} 
  
void novi_red(int n, int i) { // brojac broja znakova u redu
    if (n == 0)   return;     // kraj?
    ispisi_red(i);            // ispis reda
    cout << endl;             // kursor u novi red
    novi_red(n - 1, i + 1);   // rekurzivni poziv slijedeci red
} 
  
int main() { 
    int broj = 7;      // broj redova 7
    novi_red(broj, 1); // poziv ispisa redova
    return 0; 
} 
Ispis na ekranu:

Index