PDA

Visualizza la versione completa : [C++] Memorizzare in un vettore i valori minimi delle righe di una matrice


milu
03-01-2013, 15:07
ciao a tutti!!
devo scrivere un programma che data una matrice di n righe e m colonne,memorizzi in un vettore di uscita i valori minimi delle righe..
sono riuscita a visualizzare il valore minimo di ogni riga,questo quello che ho fatto


#include<iostream>
#include<cstdlib>
using namespace std;
#define N 50
#define M 60

typedef int matrice[N][M];
matrice a;
typedef int vettore[50];
vettore v;

void inserimento(int&,int&,matrice);
void min_righe(matrice,int&,int&,int&);

void inserimento(int&n,int&m,matrice a){
int i,j;
cout<<"Di quante righe e' composta la matrice?";
cin>>n;
cout<<"E di quante colonne?";
cin>>m;
if(n>N||m>M) cout<<"ERRORE!!queste dimensioni non sono supportate"<<endl;
else{
for(i=0;i<n;i++){
for(j=0;j<m;j++){
cout<<"L'elemento di posizione "<<i<<j<<" e' ";
cin>>a[i][j];
}
}
cout<<endl;
cout<<"La matrice a e' la seguente"<<endl;
for(i=0;i<n;i++){
for(j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}

}
}

void min_righe(matrice a,int&n,int&m,int&min){
int i;
int j;

for(i=0;i<n;i++){
min=a[i][0];
for(j=1;j<m;j++){
if(a[i][j]<min){
min=a[i][j];

}
}
cout<<"il minimo della riga "<<i<<" vale "<<min<<endl;
}
}

int main(){
int n;
int m;
int min;
matrice a;
vettore v;
inserimento(n,m,a);
min_righe(a,n,m,min);
system("pause");
}





il problema che non saprei come fare a memorizzare questi valori in un vettore..
mi potete dare solo un suggerimento?

moneta173
03-01-2013, 15:56
void min_righe(matrice a,int&n,int&m,int&min){
int i;
int j;
int insieme_minimi[N];

for(i=0;i<n;i++){
min=a[i][0];
for(j=1;j<m;j++){
if(a[i][j]<min){
min=a[i][j];

}
}
insieme_minimi[i]=min;
cout<<"il minimo della riga "<<i<<" vale "<<min<<endl;
}
cout << "I minimi sono: ";
for(int z=0; z<n; z++){
cout << insieme_minimi[z] << " ";
}
}

In pratica ho definito il vettore int insieme_minimi[N]; e all'interno del ciclo for pi esterno ho aggiunto insieme_minimi[i]=min; , in modo che il minimo di ogni singola riga venga aggiunto al vettore.

Alla fine della funzione min_righe() ho aggiunto un nuovo ciclo for per stampare gli elementi del nuovo vettore :)

milu
03-01-2013, 16:08
grazie mille :)

Loading