Problema con Matrici C++
salve a tutti ragazzi, quest'oggi ho un problema con le matrici:
si ha una tabella di 2 righe e 1007 colonne, in cui nella prima riga abbiamo tutti i numeri da 1 a 1007 e nella seconda riga tutti i numeri da 1008 a 2014. Il problema chiede poi di guardare la tabella come 1007 coppie numeri sovrapposti in verticale e calcolare il numero di coppie in cui il numero in seconda riga è multiplo di quello sopra di lui (nella stessa colonna).
ho abbozzato questo codice:
dove Cont è il valore che richiede il problema. Secondo voi è giusto? Grazie.
si ha una tabella di 2 righe e 1007 colonne, in cui nella prima riga abbiamo tutti i numeri da 1 a 1007 e nella seconda riga tutti i numeri da 1008 a 2014. Il problema chiede poi di guardare la tabella come 1007 coppie numeri sovrapposti in verticale e calcolare il numero di coppie in cui il numero in seconda riga è multiplo di quello sopra di lui (nella stessa colonna).
ho abbozzato questo codice:
int main() { int tab[2][1007], cont=0, numero; numero=0; for(int r=0; r<2; r++){ for(int c=0; c<1007; c++){ numero++; tab[r][c]=numero; } } for(int r=0; r<2; r++){ for(int c=0; c<1007; c++){ if(tab[r+1][c]%tab[r][c]==0){ cont++; } } } cout<<cont<<endl;
dove Cont è il valore che richiede il problema. Secondo voi è giusto? Grazie.
Risposte
"Alex7337":
salve a tutti ragazzi, quest'oggi ho un problema con le matrici:
si ha una tabella di 2 righe e 1007 colonne, in cui nella prima riga abbiamo tutti i numeri da 1 a 1007 e nella seconda riga tutti i numeri da 1008 a 2014. Il problema chiede poi di guardare la tabella come 1007 coppie numeri sovrapposti in verticale e calcolare il numero di coppie in cui il numero in seconda riga è multiplo di quello sopra di lui (nella stessa colonna).
ho abbozzato questo codice:int main() { int tab[2][1007], cont=0, numero; numero=0; for(int r=0; r<2; r++){ for(int c=0; c<1007; c++){ numero++; tab[r][c]=numero; } } for(int r=0; r<2; r++){ for(int c=0; c<1007; c++){ if(tab[r+1][c]%tab[r][c]==0){ cont++; } } } cout<<cont<<endl;
dove Cont è il valore che richiede il problema. Secondo voi è giusto? Grazie.
c'è qualcosina che non va nella seconda parte, la tabella ha solo due righe (riga 0 e riga 1), e tu fai un ciclo su entrambe le righe, quindi una volta r varrà 0 e la seconda volta varrà 1.
ma dentro il ciclo tu scrivi $tab[r+1]$ dove $r+1$ la prima volta varrà 1 mentre la seconda volta varrà 2
quindi la seconda volta avrai $tab[2]$
errato in quanto non puoi dare l'indice 2 alla tabella visto che ha solo due righe (riga 0 e riga 1)
OH grazie mille, non avevo visto!