Figure Geometriche
Supponete di voler “disegnare”, in linguaggio C, un triangolo, una piramide o alcune forme riflesse…
In questa pagina troverete 3 esempi, dal più semplice al più complicato, che ve lo dimostreranno.
Diamo per scontato che l’utente inserisca un valore pari a 5. Le anteprime dei risultati saranno commentate all’interno del programma stesso.
1. Triangolo
* ** *** **** ***** #include <stdio.h> int main(void) { int numero, i, j; printf("Inserisci il valore desiderato. Ti stampero' un triangolo! "); scanf("%i", &numero); printf("\n"); for(i = 0; i < numero; i++) { // Ciclo per le righe for(j = 0; j <= i; j++) { // Ciclo per il simbolo printf("*"); } printf("\n"); } return 0; }
2. Forma Riflessa
* ** *** **** ***** **** *** ** * #include <stdio.h> int main(void) { int numero, i, j; printf("Inserisci il valore desiderato. Ti stampero' un'immagine! "); scanf("%i", &numero); printf("\n"); for(i = 0; i < numero; i++) { // Ciclo per le righe for(j = 0; j <= i; j++) { // Ciclo per il simbolo printf("*"); } printf("\n"); } for(i = numero - 1; i > 0; i--) { // Ciclo per le righe sotto for(j = 0; j < i; j++) { // Ripete finche' j e' minore del numero precedente printf("*"); } printf("\n"); } return 0; }
3. Piramide
* *** ***** ******* ********* #include <stdio.h> int main(void) { int numero, i, j; printf("Inserisci il valore desiderato. Ti stampero' una piramide! "); scanf("%i", &numero); printf("\n"); for(i = 1; i <= numero; i++) { // Ciclo per le righe for(j = 0; j <= numero - i; j++) { // Ciclo per gli spazi - Se digito 5, avro' 4 spazi. printf(" "); } for(j = (numero - i); j < (numero - i) + (2 * i - 1); j++) { // Ciclo per scrittura simbolo - Se digito 5, parto in primis dal 4° spazio finche' non raggiungo 5. printf("*"); } printf("\n"); // Vado a capo. } return 0; }
4. Piramide vuota
* * * * * * * * * * * * #include <stdio.h> int main(void) { int h; // altezza del triangolo int s; // spazi interni int i; // indice di ciclo printf("Altezza del triangolo (almeno 2): "); scanf("%i", &h); s = 1; // stampa il vertice for (i = 1; i < h; i++) printf(" "); printf("*\n"); // stampa i lati obliqui for (h--; h > 1; h--, s += 2) { for (i = 1; i < h; i++) printf(" "); printf("*"); for (i = 1; i <= s; i++) printf(" "); printf("*\n"); } // stampa la base // la larghezza della base e' s + 4 for (i = 1; i <= (s + 4) / 2; i++) printf("* "); printf("\n"); return 0; }
Per ogni dubbio, non esitate a commentare!
No trackbacks yet.