[C] Utilizzo ciclo for

Messaggioda Quasar3.14 » 21/03/2017, 17:29

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
Quasar3.14
Junior Member
Junior Member
 
Messaggio: 23 di 155
Iscritto il: 13/11/2016, 23:00

Re: [C] Utilizzo ciclo for

Messaggioda Raptorista » 21/03/2017, 17:36

Mostra un po' di codice!
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4288 di 9616
Iscritto il: 28/09/2008, 19:58

Re: [C] Utilizzo ciclo for

Messaggioda axpgn » 21/03/2017, 17:39

Codice:
for r = 1 to 7
 
   for a = 1 to r

         print "*";
 
   next a

    print

next r
axpgn
Cannot live without
Cannot live without
 
Messaggio: 7805 di 40660
Iscritto il: 20/11/2013, 22:03

Re: [C] Utilizzo ciclo for

Messaggioda Quasar3.14 » 21/03/2017, 17:46

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
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.
Quasar3.14
Junior Member
Junior Member
 
Messaggio: 24 di 155
Iscritto il: 13/11/2016, 23:00

Re: [C] Utilizzo ciclo for

Messaggioda Quasar3.14 » 21/03/2017, 17:54

axpgn ha scritto:
Codice:
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.
Quasar3.14
Junior Member
Junior Member
 
Messaggio: 25 di 155
Iscritto il: 13/11/2016, 23:00

Re: [C] Utilizzo ciclo for

Messaggioda axpgn » 21/03/2017, 17:57

Il ciclo interno che stampa gli asterischi prende come "limite superiore" il numero di riga attualmente "in vigore" ... non è possibile annidare for in C ?
axpgn
Cannot live without
Cannot live without
 
Messaggio: 7806 di 40660
Iscritto il: 20/11/2013, 22:03

Re: [C] Utilizzo ciclo for

Messaggioda Raptorista » 21/03/2017, 18:00

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 n di asterischi?
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4289 di 9616
Iscritto il: 28/09/2008, 19:58

Re: [C] Utilizzo ciclo for

Messaggioda Quasar3.14 » 21/03/2017, 18:15

Raptorista ha scritto: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 n di asterischi?


La domanda la conosco è la risposta che mi manca :D Scherzi a parte, se provo a mattere giù un po' di codice, scrivo cose di questo genere che so essere sbagliato anche perché il numero di asterischi non viene incrementato ma scrivo solo un asterisco per ogni riga
Codice:
#include <stdio.h>
int main()
{
   char ast;
   ast = '*';
   int i;
   for(i=0; i<6;i++)
   printf("%c\n", ast);
   
}
Quasar3.14
Junior Member
Junior Member
 
Messaggio: 26 di 155
Iscritto il: 13/11/2016, 23:00

Re: [C] Utilizzo ciclo for

Messaggioda Raptorista » 21/03/2017, 18:20

Risolvi il sotto-esercizio da solo: dato int n = 5 stampare su una riga n asterischi.
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4290 di 9616
Iscritto il: 28/09/2008, 19:58

Re: [C] Utilizzo ciclo for

Messaggioda Dr. Akim » 28/03/2017, 21:06

Quasar3.14 ha scritto: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:
Codice:
#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?
Alan Turing, Padre dell'Informatica, salvò 14 MILIONI di persone durante la Seconda Guerra Mondiale decrittando Enigma. Morì suicida a 41 anni, spinto dalla persecuzione delle autorità britanniche per via della sua omosessualità. E' nostro DOVERE tenerne vivo il ricordo di questo Eroe dimenticato.
Avatar utente
Dr. Akim
Starting Member
Starting Member
 
Messaggio: 17 di 42
Iscritto il: 14/04/2016, 16:22
Località: Toscana


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite