il mio programma dovrebbe fare ciò:
- leggere da tastiera la matrice mediante una funzione leggi_matrice;
- leggere da tastiera il valore X da cercare;
- generare il vettore V mediante una funzione inizializza_vettore;
- stampare il vettore V dopo la chiamata della funzione inizializza_vettore.
La funzione inizializza_vettore richiama a sua volta una funzione cerca_elemento che controlla l'esistenza di X su una colonna della matrice e restituisce 1 se l'elemento è presente o 0 altrimenti.
Esempio:
2 4 0 6
9 5 3 2
5 0 1 5
Elemento X =5
Vettore risultante: V= 1 1 0 1
questo che segue è il mio programma.nell'untima procedura quella chiamata c'è qualcosa che non và infatti il mio vettore è sempre o tutti 0 o 1.
using namespace std;
const int n=100;
const int m=80;
typedef int mt[n][m];
typedef int vett[n];
void leggi(int&,int&,mt);
void vettor(int,vett);
void inivettore(int,int,mt,int,vett);
int main(int argc, char *argv[])
{
int n;
int m;
int x;
mt mat;
leggi(n,m,mat);
cout<<"\nDammi il valore da ricercare";
cin>>x;
vett v;
vettor(m,v);
inivettore(m,n,mat,x,v);
system("PAUSE");
return EXIT_SUCCESS;
}
void leggi(int& a,int& b,mt c){
cout<<"\nDammi il numero di righe (MAX 100)";
cin>>a;
cout<<"\nDammi il numeri di colonne (MAX 80)";
cin>>b;
cout<<"\nInserisci la matrice";
for(int i=0;i<a;i++)
for(int j=0;j<b;j++)
{
cin>>c[i][j];
}
}
void vettor(int b,vett c){
int k;
cout<<"\nInserisci il vettore";
cout<<"\nFai un inserimento del tutto casuale";
for(k=0;k<b;k++){
cin>>c[k];
}
}
void inivettore(int b,int a,mt c,int d,vett e){
int conta;
for(int k=0;k<b;k++){
for(int j=0;j<b;j++){
conta=0;
for(int i=0;i<a;i++){
if(c[j][i]==d){
conta++;
}
}
if(conta>0){
e[k]=1;
}
if(conta==0){
e[k]=conta;
}
}
}
cout<<"\nIl nostro vettore e':";
for(int k=0;k<b;k++)
cout<<" "<<e[k];
}
sapreste aiutarmi?