Salve a tutti
Ciao delcaran ho letto adesso la tua ultima risposta e ti ringrazio per l'aiuto che mi stai dando
Per rispondere alle domande da te poste in precedenza ti riporto il mio ragionamento ed il codice che ho scritto(non l?ho testato ancora

)
Allora ho 9 righe quindi dovrei fare un ciclo for che mi faccia andare a capo 9 volte cioè quindi se indichiamo con i il numero di righe dovrei fare
Per i che va da 1 a 5 il numero di spazi diminuisce da 4 ad 0 decrescendo di 1,quindi all'interno del primo for ci metto quest?altro for
dove ho chiamato con k la variabile n° di spazi.
Dunque avrei:
Codice: Seleziona tutto
for(i=1;i<=9;i++){
if(i<=5){
for(k=5-i;k>=1;k--)
printf(" ");
}
Per quanto riguarda la relazione che lega il numero di righe al numero di asterischi che chiamo con l,provando e riprovando ho trovato essere la seguente
l=2*i-1 e dunque ho da inserire quest'altro ciclo for ossia for(l=2*i-1;l>=1;l--)
Dunque:
Codice: Seleziona tutto
for(i=1;i<=9;i++){
if(i<=5){
for(k=5-i;k>=1;k--)
printf(" ");
for(l=2*i-1;l>=1;l--)
print("*");
}
Ora ragiona sui valori di i (cioè del numero di righe) che vanno da 5 ad 9 e quindi ci metto il ramo else per valutare questi casi,Per i che cresce da 5 ad 9 il legame tra numero di righe e numero di spazi risulta essere
k=i-5 ed allora nel ramo else ci metto il ciclo for(k=i-5;k>=1;k--) per stampare il n° di spazi appropriati.
Dunque la stesura del codice prosegue come di seguito riportato:
Codice: Seleziona tutto
for(i=1;i<=9;i++){
if(i<=5){
for(k=5-i;k>=1;k--)
printf(" ");
for(l=2*i-1;l>=1;l--)
print("*");
}
else{
for(k=i-5,k>=1;k--)
printf(" ");
Il legame tra l (cioè il n° di asterischi ) ed il numero di righe (cioè la variabile i) risuta essere
l=2*(9-i)+1
e quindi il ciclo for per stampare il numero appropriato di asterische (per valori di che vanno da 6 ad 9) é
for(l=2*(9-i)+1;l>=1;l--)
Dunque il codice C si completa come segue:
Codice: Seleziona tutto
for(i=1;i<=9;i++){
if(i<=5){
for(k=5-i;k>=1;k--)
printf(" ");
for(l=2*i-1;l>=1;l--)
print("*");
}
else{
for(k=i-5,k>=1;k--)
printf(" ");
for(l=2*(9-i)+1;l>=1;l--)
printf("*);
}
printf("\n");
}
Provo a compilare il tutto e vi faccio sapere....Ripeto devo per forza ricorrere all'if-else per risolvere l'esercizio ma dall'enunciato dello stesso forse non bisogna farne uso mah
Aspetto vostri altri commenti!!!
Grazie
