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:
/* 09413121 nacrtaj trougao */
#include <cstdlib>
#include <iostream>
using namespace std;
void ispisi_red(int n2) { // ispis reda
if (n2 == 0) return; // kraj reda
cout << "* "; // ispis znak
ispisi_red(n2 - 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
|