[C] Utilizzo ciclo for
Buonasera è da poco che ho iniziato a studiare programmazione quindi probabilmente il problema risulterà banalissimo ai più.
Devo svolgere un esercizio che mi chiede di utilizzare due cicli for in modo che stampi a video le seguenti righe
*
**
***
****
*****
******
*******
Sono riuscito a svolgere un esercizio simile in cui invece degli asterischi mi si chiedeva di stampare i primi dieci numeri utilizzando sempre il ciclo for.
Sto riscontrando difficoltà ad incrementare ad ogni riga il numero di asterischi. Qualche suggerimento ? Grazie
Devo svolgere un esercizio che mi chiede di utilizzare due cicli for in modo che stampi a video le seguenti righe
*
**
***
****
*****
******
*******
Sono riuscito a svolgere un esercizio simile in cui invece degli asterischi mi si chiedeva di stampare i primi dieci numeri utilizzando sempre il ciclo for.
Sto riscontrando difficoltà ad incrementare ad ogni riga il numero di asterischi. Qualche suggerimento ? Grazie
Risposte
Mostra un po' di codice!
for r = 1 to 7 for a = 1 to r print "*"; next a print next r
Il punto è che non saprei proprio come iniziare, ho rivisto le dispense e il libro e mi è chiaro il funzionamento di for e while.
Per esempio per quanto riguarda i numeri mi è stato facile scrivere questo codice
Ora lo so che dovrebbe essere un esercizio simile. Mi è chiaro che devo cambiare il tipo di variabile da int a char e assegnare alla variabile il valore '*', ma su come farlo a incrementare con un ciclo for non saprei.
Per esempio per quanto riguarda i numeri mi è stato facile scrivere questo codice
#include <stdio.h> int main() { int i; for(i=0;i<11;i++) printf("%d\n", i); getchar(); }
Ora lo so che dovrebbe essere un esercizio simile. Mi è chiaro che devo cambiare il tipo di variabile da int a char e assegnare alla variabile il valore '*', ma su come farlo a incrementare con un ciclo for non saprei.
"axpgn":for r = 1 to 7 for a = 1 to r print "*"; next a print next r
Grazie ragazzi per le risposte. Scusami ma non mi è chiaro come tradurre ciò che hai scritto in codice.
Il ciclo interno che stampa gli asterischi prende come "limite superiore" il numero di riga attualmente "in vigore" ... non è possibile annidare for in C ?
Il codice che hai scritto va abbastanza bene. Nell'esercizio attuale, anziché ad ogni iterazione stampare un numero devi stampare un certo numero di asterischi. La domanda quindi diventa: Come fare per stampare un numero [inline]n[/inline] di asterischi?
"Raptorista":
Il codice che hai scritto va abbastanza bene. Nell'esercizio attuale, anziché ad ogni iterazione stampare un numero devi stampare un certo numero di asterischi. La domanda quindi diventa: Come fare per stampare un numero [inline]n[/inline] di asterischi?
La domanda la conosco è la risposta che mi manca

#include <stdio.h> int main() { char ast; ast = '*'; int i; for(i=0; i<6;i++) printf("%c\n", ast); }
Risolvi il sotto-esercizio da solo: dato [inline]int n = 5[/inline] stampare su una riga [inline]n[/inline] asterischi.
"Quasar3.14":
Buonasera è da poco che ho iniziato a studiare programmazione quindi probabilmente il problema risulterà banalissimo ai più.
Devo svolgere un esercizio che mi chiede di utilizzare due cicli for in modo che stampi a video le seguenti righe
*
**
***
****
*****
******
*******
Sono riuscito a svolgere un esercizio simile in cui invece degli asterischi mi si chiedeva di stampare i primi dieci numeri utilizzando sempre il ciclo for.
Sto riscontrando difficoltà ad incrementare ad ogni riga il numero di asterischi. Qualche suggerimento ? Grazie
Ciao!
Spero di risponderti nel modo più chiaro di possibile
Dunque, devi farlo un numero prestabilito di volte o devi leggerlo da tastiera?
Il fatto che ti dica di usare due cicli for dovrebbe guidarti nella risoluzione dell'esercizio, ti propongo la mia idea:
#include <stdio.h> int main (){ int i, j; for(i=0;i<7;i++){ for(j=0;j<i+1;j++) printf("*"); printf("\n"); } return 0; }
Così non devi stare a romperti le scatole con conversioni di tipo ecc.
Ti soddisfa? Fammi sapere

Ciao!
P.s: come si inseriscono i tab nel codice?