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:
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;
}
Non esitate a dire la vostra, accetto correzione e quant'altro; l'importante è arrivare alla soluzione.
Ciao e grazie, grazie mille.