Cambiare indice for...

Sk_Anonymous
Salve ragazzi ho un ciclo for del tipo

for(i = 0; i < n, ++i)

che fa una certa cosa...successivamente devo riprendere questo ciclo for ma gli vorrei cambiare l'indice....è possibile farlo???....vorrei sapere come...grazie...ciao

Risposte
alvinlee881
Mi sa che devi spiegarti un pò meglio...sennò mi verrebbe da dirti
for(j=0;j:-D

Sk_Anonymous
hai ragione...
ho un ciclo for di indice che scrive 'ciao -> bello', acquisendo solo 'ciao' da file
ora vorrei cambiare istruzione acquisendo 'ciao' dallo stesso file e scrivere 'ciao -> toni' con un secondo ciclo for di indice [j]....
...spero di essere stato chiaro....

bryce1
Ciao.
Qui i casi sono due:
1) caso in serie, dove prima completi il primo ciclo "for" e poi ne esegui un'altro:
for(i = 0; i < n, ++i) {
... primo ciclo...
};
for(i = 0; i < n, ++i) {
... secondo ciclo...
};
In questo caso entrambi i cicli possono usare la stessa variabile per l'indice dato che non si influenzano.

2) caso "nested" con cicli annidati:

for(i = 0; i < n, ++i) {
for(j = 0; j < m, ++j) {
... secondo ciclo annidato...
};
};
In questo caso DEVI usare due variabili diverse per i due cicli, perché il secondo ciclo con [j] (interno) lo esegui ad ogni iterazione del ciclo esterno con . Se usassi la stesse variabile per entrambi i cicli... otterresti effetti indesiderati dato che i due cicli si influenzano.

Se hai ancora dubbi fatti risentire qui.

Sk_Anonymous
il secondo caso fa per me...ma guarda un po':
for(i=0; i<4; ++i)
{
for(j = 0; j <4; ++j)
...

così non va...non mi parte per iente il programma...come mai???

bryce1
Allora la causa è un'altra e potrebbe essere nel codice prima di questi cicli "for". Dovresti vedere cosa fa il programma prima di questi cicli. Hai messo qualche condizione "if" per caso?

Se riporti qui il codice (o almeno la struttura di "if" e "for") allora potrei risponderti meglio.

Comunque, prova a fare un debug veloce del programma scrivendo alciuni messaggi con "printf()" quello che fai in vari punti del programma. Mettili anche all'interno dei cicli "for" e degli "if" così da verificare che il flusso di istruzioni sia eseguito come vuoi tu.

Facci sapere,

Bryce.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.