PDA

Visualizza la versione completa : [C] Stampa di una piramide


bianchi88
17-10-2009, 12:09
Questo è il testo del problema

/* programma che prende in input un intero positivo n e stampa una piramide di altezza n formata dai caratteri '*' ad esempio se n=5 allora deve stampare:

*
* *
* * *
* * * *
* * * * *

non state visualizzando una piramide ma deve essere a forma di piramide
*/

//pseudo codice:

/* scan n
for n righe
for colonne minori uguali alle righe
stampa carattere e a capo se colonne e righe sono uguali (diagonale)
sennò stampa solo carattere */


#include <stdio.h>
int main () {
int n,righe,colonne;

scanf(" %d",&n);

for (colonne=1;colonne<=n;colonne++){
for (righe=1; righe<=colonne; righe++){
if (righe==colonne) {
printf("* \n"); }
else { printf("* ");
}
}
}
return 0;
}


/* invece mi stampa:

*
**
***
****
*****
il problema è che quando vado a capo mi mette tutti nella stessa fila come posso far venire la piramide? */

Eyescream
17-10-2009, 15:25
beh per fare una piramide decente ogni livello dovrebbe avere almeno 2 asterischi in più (o in meno) ... altrimenti viene per forza sballata

...**
..****
.******
********
e al posto dei punti dovresti stampare degli spazi (altrimenti ovviamente te li allinea a sx)

oregon
17-10-2009, 15:44
Io direi che dovrebbe visualizzare una sequenza di asterischi tipo 1,3,5,7 ...

Eyescream
17-10-2009, 17:12
vero anche questo :dhò:

bianchi88
17-10-2009, 18:11
ok grazie delle risposte, ma il problema di dice di inserire in input un numero n dopodichè si stampano gli asterischi in orine crescente dall'alto verso il basso ragiungendo la quantità di n.
esempio: n=4
allora
*
* *
* * *
* * * *

con input n=8
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
l'idea delle spazio vuoto può essere valido ma in quel caso dovrei cambiare algoritmo potete fornirmi qualche esempi? grazie..

oregon
17-10-2009, 18:14
n rappresenta l'altezza della piramide. Quindi se n = 5 allora potresti visualizzare

1
3
5
7
9

asterischi rispettando il valore dell'altezza

bianchi88
17-10-2009, 19:02
ok grazie delle risposte, ma il problema di dice di inserire in input un numero n dopodichè si stampano gli asterischi in orine crescente dall'alto verso il basso ragiungendo la quantità di n.
esempio: n=4
allora
*
* *
* * *
* * * *

con input n=8
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
l'idea delle spazio vuoto può essere valido ma in quel caso dovrei cambiare algoritmo potete fornirmi qualche esempi? grazie..

oregon
17-10-2009, 19:11
Ma perche' ripeti quello che hai gia' scritto?

Non serve a molto.

A questo punto, rileggi quello che ti ho scritto e cerca di buttare giu' del codice ... in base al codice che scrivi si vede cosa correggere ...

MItaly
17-10-2009, 19:56
Curiosamente la domanda torna ciclicamente (http://forum.html.it/forum/showthread.php?s=&threadid=1242520)... :D

oregon
17-10-2009, 19:58
Originariamente inviato da MItaly
Curiosamente la domanda torna ciclicamente (http://forum.html.it/forum/showthread.php?s=&threadid=1242520)... :D

La spiegazione e' che i professori riciclano i compiti da assegnare .... :)

Loading