PDA

View Full Version : [C] Problemi con alcuni esercizi..


fant3
17-06-2005, 19:02
Salve ragazzi..sto facendo un pò di esercizi vari, ma c'è il seguente che mi da un pò di problemi. In pratica devo costruire un vettore di dimensione n il cui iesimo elemento è la media aritmetica degli elementi di posto dispari (con indice di colonna dispari) dalla iesima riga della matrice, per i=1...n
La matrice ha dimensione n*m (righe-colonne).
Ecco la funzione che ho scritto io:
**a è una matrice allocata dinamicamente nel main
m ed n sono le dimensionid ella amtrice
v è un vettore allocato dinamicamente nel main che conterrà il risultato
-----------------------------------------------------------------------
void func(int **a, int m, int n, int v[])
{
int i, j, mezz;
mezz=(m+1)/2;
for(i=0;i<n;i++)
{
v[i]=0;
for(j=0;j<m;j+2)
{
v[i]=v[i]+a[i][j];
}
v[i]=v[i]/mezz;
}
}
----------------------------------------------------------------------
Quando la compilo non ho problemi ma avviandola non mi da alcun risultato e si blocca la finestra. Spero qualcuno possa aiutarmi...attendo vostre notizie.

fant3
18-06-2005, 12:48
for(j=0;j<m;j+2)


Ho capito che l'errore è questo. Io devo incrementare il ciclo for di due unità per prendere solo gli elementi di posto dispari, ma mettendo j+2 il ciclo for entra in un loop infinito. Come devo fare per avere un for con step 2?

NRG
18-06-2005, 15:27
j+2 deve diventare j=j+2 altrimenti j rimarrà sempre 0

ciao

fant3
18-06-2005, 17:42
si infatti era quello il problema..mi ero dimenticato che bisogna assegnarlo il valore. Me ne sono accorto riguardando altri vecchi esercizi.
Comunque grazie per l'aiuto. ;)

^-Super_Treje-^
19-06-2005, 10:22
j+=2 per scriverlo + compatto.