|
|
| Algoritmi utili sui vettori.//Svuotare un vettore.CODICE for(int i=0; i<MAXEL ; i++) { v[i]=0; numEL=0; } //Caricare un vettoreCODICE int i; do { cout <<"Dimmi il numero di elementi"; cin>>numEL;
for(i=0; i<MAXEL; i++) { cout <<"El n" <<i+1 <<":"; cin >> v[i]; } } while (numEL>MAXEL || numEL<0); //Eliminare la posizione (Attenzione Pos va passata con un metodo oppure va messa in input!)i CODICE nt i; for(i=0; i<MAXEL ; i++) v[i]=v[pos+1]; //Inserire un elemento (attenzione, elemento va passato!)CODICE int i; for (i=0; i<MAXEL; i++) v[i]=v[elemento]; Algoritmi utili sulle matrici.//Svuotare una matriceCODICE int R,C;
for(R=0; R<MAXR; R++) { for(C=0; C<MAXC; C++) { m[R][C]=0; } } // Inserire elementi in una matriceCODICE int R,C;
for(R=0; R<MAXR; R++) { for(C=0; C<MAXC; C++) { cin>>m[R][C]; } } //Stampare una matriceCODICE int R,C;
for(R=0; R<MAXR; R++) { for(C=0; C<MAXC; C++) { cout<<m[R][C]; cout<<" "; } cout<<endl; } //Stampare la diagonale di una matrice (la matrice è di tutti 0 la diagonale viene settata con 1)CODICE int lato=MAXR;
for(int i=0; i<lato; i++) { m[i][i]=1; } //Stampare la diagonale inversaCODICE int j=0, i=MAXC-1; while((j<MAXC)&&(i>=0)) { m[j++][i--]=1; } //Stampare una riga sì e una noCODICE int R,C;
for(R=0; R<MAXR; R=R+2) { for(C=0; C<MAXC; C++) { m[R][C]=1; } } //Stampare una colonna sì e una noCODICE int R,C;
for(R=0; R<MAXR; R++) { for(C=0; C<MAXC; C=C+2) { m[R][C]=1; } } //Stampare il BORDO della matriceCODICE int bordo; int C,R; cout <<"Dimmi quanto vuoi spesso il bordo"; cout<<endl; cin>>bordo;
for(R=0; R<bordo; R++) { for(C=0; C<MAXC; C++) { if(M[R][C]==0) M[R][C]=1; else M[R][C]=0; }
} for(R=MAXR-bordo; R<MAXR; R++) { for(C=0; C<MAXC; C++) { if(M[R][C]==0) M[R][C]=1; else M[R][C]=0; }
}
for(C=0; C<bordo; C++) { for(R=0; R<MAXR; R++) { if(M[R][C]==0) M[R][C]=1; else M[R][C]=0; }
}
for(C=MAXC-bordo; C<MAXC; C++) { for(R=0; R<MAXR; R++) { if(M[R][C]==0) M[R][C]=1; else M[R][C]=0; } } Per ora è una fine. In seguito aggiungerò altri algoritmi base sui vettori (come Lo shift a destra, shift a sinistra e shift circolare). Per ora è così. Spero sia utile.
Fonti: EserciziScuola + me.
|
| |