/*
Name: le Funzioni .
Author: Fabio Biscaro
Date: 08/11/14 12:12
Description: Esercizi con le funzioni
*/
#include <iostream>
#include <stdlib.h>
using namespace std;
// Funzione che stampa il numero di asterischi passati
void aster(int x) { // Il valore passato dal main "finisce" nella variabile x
for (int i=0; i<x; i++) {
cout << "*";
}
cout << endl;
}
// Funione che stampa un rettangolo pieno, ricevendo in ingresso due parametri
void cubo(int x, int y) {
for (int i=0; i<x; i++) {
for (int j=0; j<y; j++) {
cout << "*";
}
cout << endl;
}
}
/*
Disegna un triangolo
*/
void triangolo(int l) {
for (int i=0; i<l; i++) {
for (int j=0; j<=i; j++) {
cout << "*";
}
cout << endl;
}
}
/* Disegna un albero */
void albero(int h) {
for (int i=0; i<h; i++) {
for (int j=0; j<(h-i)/2; j++) {
cout << " ";
}
for (int j=0; j<=i; j++) {
cout << "*";
}
cout << endl;
}
}
int main(int argc, char** argv) {
/**
Per debuggare le funzioni usa "next line" per andare alla prossima riga di codice
Per entrare nel codice della funzione utilizza "into function".
Se non usi "into function" salta all'istruzione successiva senza entrare nella funzione
*/
int n;
n = 10;
// stampa 10 asterischi
aster(n);
// Stampa 10 asterischi
aster(++n);
// Stampa 40 asterischi
aster(40);
// Stampa il rettangolo
cubo(10,4);
// Stampa il triangolo
triangolo(6);
// Stampa l'albero
albero(16);
system("PAUSE");
return 0;
}
LyoKCU5hbWU6IGxlIEZ1bnppb25pIC4KCUF1dGhvcjogRmFiaW8gQmlzY2FybwoJRGF0ZTogMDgvMTEvMTQgMTI6MTIKCURlc2NyaXB0aW9uOiBFc2VyY2l6aSBjb24gbGUgZnVuemlvbmkKKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkbGliLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVuemlvbmUgY2hlIHN0YW1wYSBpbCBudW1lcm8gZGkgYXN0ZXJpc2NoaSBwYXNzYXRpCnZvaWQgYXN0ZXIoaW50IHgpIHsgLy8gSWwgdmFsb3JlIHBhc3NhdG8gZGFsIG1haW4gImZpbmlzY2UiIG5lbGxhIHZhcmlhYmlsZSB4Cglmb3IgKGludCBpPTA7IGk8eDsgaSsrKSB7CgkJY291dCA8PCAiKiI7Cgl9Cgljb3V0IDw8IGVuZGw7Cn0KCi8vIEZ1bmlvbmUgY2hlIHN0YW1wYSB1biByZXR0YW5nb2xvIHBpZW5vLCByaWNldmVuZG8gaW4gaW5ncmVzc28gZHVlIHBhcmFtZXRyaQp2b2lkIGN1Ym8oaW50IHgsIGludCB5KSB7Cglmb3IgKGludCBpPTA7IGk8eDsgaSsrKSB7CgkJZm9yIChpbnQgaj0wOyBqPHk7IGorKykgewoJCQljb3V0IDw8ICIqIjsKCQl9CgkJY291dCA8PCBlbmRsOwoJfQp9CgovKgoJRGlzZWduYSB1biB0cmlhbmdvbG8KKi8Kdm9pZCB0cmlhbmdvbG8oaW50IGwpIHsKCWZvciAoaW50IGk9MDsgaTxsOyBpKyspIHsKCQlmb3IgKGludCBqPTA7IGo8PWk7IGorKykgewoJCQljb3V0IDw8ICIqIjsKCQl9CgkJY291dCA8PCBlbmRsOwkJCgl9Cn0KCi8qIERpc2VnbmEgdW4gYWxiZXJvICovCnZvaWQgYWxiZXJvKGludCBoKSB7Cglmb3IgKGludCBpPTA7IGk8aDsgaSsrKSB7CgkJZm9yIChpbnQgaj0wOyBqPChoLWkpLzI7IGorKykgewoJCQljb3V0IDw8ICIgIjsKCQl9CgkJZm9yIChpbnQgaj0wOyBqPD1pOyBqKyspIHsKCQkJY291dCA8PCAiKiI7CgkJfQoJCWNvdXQgPDwgZW5kbDsKCX0KfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KSB7CgkvKioKCVBlciBkZWJ1Z2dhcmUgbGUgZnVuemlvbmkgdXNhICJuZXh0IGxpbmUiIHBlciBhbmRhcmUgYWxsYSBwcm9zc2ltYSByaWdhIGRpIGNvZGljZQoJUGVyIGVudHJhcmUgbmVsIGNvZGljZSBkZWxsYSBmdW56aW9uZSB1dGlsaXp6YSAiaW50byBmdW5jdGlvbiIuIAoJU2Ugbm9uIHVzaSAiaW50byBmdW5jdGlvbiIgc2FsdGEgYWxsJ2lzdHJ1emlvbmUgc3VjY2Vzc2l2YSBzZW56YSBlbnRyYXJlIG5lbGxhIGZ1bnppb25lCgkqLwoJaW50IG47CgluID0gMTA7CgkvLyBzdGFtcGEgMTAgYXN0ZXJpc2NoaQoJYXN0ZXIobik7CgkvLyBTdGFtcGEgMTAgYXN0ZXJpc2NoaQoJYXN0ZXIoKytuKTsKCS8vIFN0YW1wYSA0MCBhc3RlcmlzY2hpCglhc3Rlcig0MCk7CgkvLyBTdGFtcGEgaWwgcmV0dGFuZ29sbwoJY3VibygxMCw0KTsKCS8vIFN0YW1wYSBpbCB0cmlhbmdvbG8KCXRyaWFuZ29sbyg2KTsKCS8vIFN0YW1wYSBsJ2FsYmVybwoJYWxiZXJvKDE2KTsKCQoJc3lzdGVtKCJQQVVTRSIpOwoJcmV0dXJuIDA7Cn0K