[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?