problema C++?
la traccia dice:
scrivi N numeri e fai in modo che il numero stampato sia il doppio del precedente.
ora so che devo usare il ciclo For, però come faccio a capire quand'è il momento di fermare il ciclo? Perchè in pratica lo stavo facendo, e giustamente ho notato che il ciclo continua all'infinito perchè non c'è scritta una condizione con un valore finale oltre il quale il programma termina.
Ora la mia domanda è: come posso dedurre quand'è il momento di fermare il ciclo for? grazie a chi mi risponde chiaramente
si ma stai calmo
appunto..
7 risposte
- Anonimo2 mesi faRisposta preferita
//dopp.cpp
#include <iostream>
using namespace std;
main()
{
int n,m,i;
cout << "Inserisci il numero degli elementi: ";
cin >> n;
cout << "Inserisci l'inizio: ";
cin >> i;
for(m=0;m<n;m++)
{
i *=2;
cout << i << " ";
}
cout << endl;
system("pause");
}
- SaverioLv 52 mesi fa
Ciao.
Qualcuno ti ha dato la soluzione che ovviamente se hai posto la domanda non hai capito.
Il ciclo FOR Opera nella seguente maniera:
for(PUNTO DI PARTENZA;PUNTO DI DESTINAZIONE;LUNGHEZZA DEL PASSO)
Esempio sintattico:
int MiaVariabile;
int Destinazione = 100;
for(MiaVariabile=0;MiaVariabile<Destinazione;MiaVariabile++)
// MiaVariabile è una variabile numerica
// Nel primo passo viene defininita la partenza che inizia dal valore 0
// Nel secondo passo si crea la condizione di continuare il ciclo finchè MiaVariabile è minore di Destinazione.
// Il Terzo passo incrementa di uno il valore di MiaVariabile
Ovviamente se nella condizione inserisci una logica che va oltre esempio : MiaVariabile>0 ecco che essendo vera il ciclo sarà infinito.
Quindi bisogna sempre conoscere gli operatori usati e fare attenzione ad una cosa importantissima:
= non è uguale a ==
Molti bug nascono da errori nell'uso degli operatori tipo il classico simbolo =
infatti se scrivo x = 2 Significa che il valore di x diventa 2
ma se scrivo x == 2 Significa che se x fosse uguale a 2 allora il darebbe valore vero
(x=2) = 2
(x==2) = 1 oppure 0 nel caso x contiene un'altro valore diverso da 2.
Spero di essere stato abbastanza esaustivo e averti fatto capire come funziona il ciclo FOR
- Giulio MLv 72 mesi fa
Il ciclo for, indipendentemente dal linguaggio usato (C/C++, Python, JavaScript, ecc) funziona così: inizio-incremento-fine. Quindi è già prevista la fine, si ferma da solo. Invece il ciclo while potrebbe non fermarsi, ad esempio tu dicimdi uscire dal ciclo se si verifica una determinata condizione, ma se non si verifica continui a ripetere il ciclo all'infinito. Detto ciò, anche se in questo caso sarebbe più indicato un ciclo while, tramite ciclo for il codice è questo:
#include <stdlib.h>
#include <stdio.h>
#define N 20 //ad esempio 20 numeri
int main (){
int i;
int ris=1; //valore iniziale
for (i=0;i <N;i++){
printf ("%d\n",ris);
ris*=2; //il prossimo valore sarà il doppio
}
system ("pause");
return 0;
}
- Anonimo2 mesi fa
- Che ne pensi delle risposte? Puoi accedere per votare la risposta.
- Anonimo2 mesi fa
- MufloneLv 62 mesi fa
1) non è necessario il ciclo for
2) ma ci sei o ci fai?? Stampare n numeri significa fermare il ciclo quando hai stampato n volte il numero