PDA

View Full Version : [C++] Aiuto For


AZE
30-07-2009, 16:33
Ciao a tutti, spero mi possiate aiutare in questo esercizio:
Visualizzare i seguenti valori utilizzando una for per generare ciascuna riga :
1,2,3,4,5,6,7
3,8,13,18,23
20,14,8,2,-4,-10
19,27,35,43,51

Modificare il programma in modo che definito di volta in volta il valore inziale del contatore, il valore dell'incremento e utilizzando una sola for parametrica vengano visualizzati i primi n (letto dalla tastiera) termini della sequenza.
Qui' quello che ho fatto:

#include <stdio.h>
#include <math.h>

main()
{int i, cnt, inc, n;
//Prima parte nessun problema:
for (i=1;i<8;i=i+1) {printf("%d, ", i);}
printf("\n");
for (i=3;i<=23;i=i+5) {printf("%d, ", i);}
printf("\n");
for (i=20;i>=-10;i=i-6) {printf("%d, ", i);}
printf("\n");
for (i=19;i<=51;i=i+8) {printf("%d, ", i);}
printf("\n");


//Seconda parte
printf("\nInserisci il valore iniziale del contatore: ");
scanf("%d", &cnt);
printf("Inserisci quante n volte vuoi iterare:");
scanf("%d", &n);
printf("\nInserisci il valore dell'incremento: ");
scanf("%d", &inc);

for(cnt; ;cnt=cnt+inc) printf("%d", cnt);

fflush(stdin);
getchar();
}

* riesco a farlo iterare sinche' cnt non raggiunge il numero che inserisco, ma l'esercizio chiede che l'iterazione venga eseguita n volte [esempio se n=2, mi deve stampare solo i primi 2 numeri, se n=3 solo i primi 3 numeri.

Spero possiate essermi d'aiuto postando la parte di codice corretta o aiutandomi in qualche modo, grazie:ciapet:

Ho letto ora la storia delle parentesi quadre ma come si rinomina il titolo?

YSN
04-08-2009, 10:48
quello mi sembra C, non C++

cionci
04-08-2009, 11:40
Puoi mettere anche una seconda condizione di arresto nel for

tom03
04-08-2009, 11:50
quello mi sembra C, non C++

Pure a me sembra c e non c++ :)

in c++
#include <stdio.h>
#include <Math.h>
#include<iostream.h>

main()
{int i, cnt, inc, n;

for (i=1;i<8;i=i+1) {cout<<" "<<i;}
cout<<endl;
for (i=3;i<=23;i=i+5) {cout<<" "<<i;}
cout<<endl;
for (i=20;i>=-10;i=i-6) {cout<<" "<<i;}
cout<<endl;
for (i=19;i<=51;i=i+8) {cout<<" "<<i;}
cout<<endl;

//Seconda parte
cout<<"Inserisci il valore iniziale del contatore: "<<endl;
cin>>cnt;
cout<<"Inserisci quante n volte vuoi iterare:"<<endl;
cin>>n;
cout<<"Inserisci il valore dell'incremento: "<<endl;
cin>>inc;
....
....

....
....

....

....

getchar();
getchar();
return 0;

}


CiauZ

cionci
04-08-2009, 12:11
Quello che non hai individuato secondo me è il meccanismo di funzionamento:

1,2,3,4,5,6,7
3,8,13,18,23
20,14,8,2,-4,-10
19,27,35,43,51

Sono tutte serie. Invece di controllare nel for il valore di arresto basta che tu conti quanti numeri vengono dati in uscita e ti arresti non appena raggiunta la giusta quantità.