Il programma che vi propongo di elaborare è il seguente:
Creare un programma in C che preveda le seguenti funzionalità:
Permetta di caricare Tre Matrici A, B e C nel seguente modo:
1) l'utente inserisce da tastiera un valore V, il programma lo inserisce nella Matrice A se V è dispari e V>150, nella Matrice B se V è pari e V>150, nella Matrice C se V è <=150.
2) Segnali man mano che le matrici A,B e C si riempiono e di conseguenza non accetti più valori con le caratteristiche legate a quella matrice come di seguito descritto:
Dopo MxN valori dispari>150 inserisco il valore "1311" e il sistema risponde "matrice A piena, non puoi inserire valori nella matrice A" ed ignora il valore.
Se dopo inserisco il valore 54, il valore viene inserito nella Matrice C e così via, al successivo riempimento della Matrice C risponderà: "Matrice C piena, non puoi inserire valori nella Matrice C" e ignorerà tutti i successivi valori tranne quelli che possono essere inseriti nella Matrice B; al riempimento anche della Matrice B il sistema segnala che le tre Matrici A,B e C sono piene e restituisce il controllo.
Io sono parzialmente riuscito ad effettuare il punto 1, per quanto riguarda il seguito sono ancora a lavoro; in ogni caso di seguito vi propongo l'elaborazione del punto 1:
Non esitate a dire la vostra, accetto correzione e quant'altro; l'importante è arrivare alla soluzione.codice:#include <iostream> #include <math.h> using namespace std; /**/ int main() { int a[10][10], b[10][10], c[10][10]; int n,m,l,k,y,z,i,j; //Caricamento della Matrice A cout<<"Inserire numero righe e numero colonne della Matrice A:"<<endl<<endl; cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl; cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl; while(n<1 || n>10 || m<1 || m>10) { cout<<"Errore di inserimento dati, riprova."<<endl<<endl; cout<<"Inserire numero righe e numero colonne della Matrice:"<<endl<<endl; cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl; cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl; } //Caricamento della Matrice B cout<<"Inserire numero righe e numero colonne della Matrice B:"<<endl<<endl; cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl; cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl; while(n<1 || n>10 || m<1 || m>10) { cout<<"Errore di inserimento dati, riprova."<<endl<<endl; cout<<"Inserire numero righe e numero colonne della Matrice:"<<endl<<endl; cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl; cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl; } //Caricamento della Matrice C cout<<"Inserire numero righe e numero colonne della Matrice C:"<<endl<<endl; cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl; cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl; while(n<1 || n>10 || m<1 || m>10) { cout<<"Errore di inserimento dati, riprova."<<endl<<endl; cout<<"Inserire numero righe e numero colonne della Matrice:"<<endl<<endl; cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl; cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl; } cout<<"Inserimento elementi nelle Matrici A,B e C:"<<endl<<endl; int e[10][10]; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { cout<<"Elemento e["<<i<<","<<j<<"]= "; cin>>e[i][j]; cout<<endl; } cout<<"La Matrice A e':"<<endl<<endl; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { if((e[i][j]%2!=0)&&(e[i][j]>150)) {a[i][j]=e[i][j];} else {a[i][j]=0;} } for(i=1;i<=n;i++) { for(j=1;j<=m;j++) cout<<a[i][j]<<" "; cout<<endl; } cout<<endl<<endl; cout<<"La Matrice B e':"<<endl<<endl; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { if((e[i][j]%2==0)&&(e[i][j]>150)) {b[i][j]=e[i][j];} else {b[i][j]=0;} } for(i=1;i<=n;i++) { for(j=1;j<=m;j++) cout<<b[i][j]<<" "; cout<<endl; } cout<<endl<<endl; cout<<"La Matrice C e':"<<endl<<endl; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { if(e[i][j]<=150) {c[i][j]=e[i][j];} else {c[i][j]=0;} } for(i=1;i<=n;i++) { for(j=1;j<=m;j++) cout<<c[i][j]<<" "; cout<<endl; } cout<<endl<<endl; system("PAUSE"); return 0; }
Ciao e grazie, grazie mille.

Rispondi quotando

