Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <iostream>
- #define R 100
- #define C 100
- #define V 100
- using namespace std;
- typedef double elem;
- typedef int matrice[R][C];
- typedef int vettore[V];
- void carica_matrice( matrice mat, int &r, int &c);
- void stampa_matrice (matrice mat, int r, int c);
- void ricerca_min (matrice mat, int r, int c);
- void ricerca_max (matrice mat, int r, int c);
- void ricerca_min_rig( matrice mat, vettore vet, int r, int c);
- void ricerca_max_rig ( matrice mat, vettore vet, int r, int c);
- void ricerca_min_col (matrice mat, vettore vet, int r, int c);
- void ricerca_max_col ( matrice mat, vettore vet, int r, int c);
- void diagonale_maggiore ( matrice mat, vettore vet, int r, int c);
- void diagonale_minore ( matrice mat, vettore vet, int r, int c);
- void massimo_matrice( matrice mat, int r, int c, int posrig, int poscol);//da le coordinate dela posizione in cui si trova l'elemento minore nella matrice
- void scrittura_mat_infile ( matrice mat, int r, int c);
- int main ()
- {
- matrice mat1;
- vettore vet1;
- int rig;
- int col;
- int posrig1;
- int poscol1;
- carica_matrice( mat1, rig, col);
- stampa_matrice ( mat1, rig, col);
- ricerca_min (mat1, rig, col);
- ricerca_max (mat1, rig, col);
- ricerca_min_rig (mat1, vet1, rig, col);
- ricerca_max_rig (mat1, vet1, rig, col);
- ricerca_min_col (mat1, vet1, rig, col);
- ricerca_max_col (mat1, vet1, rig, col);
- diagonale_maggiore (mat1, vet1, rig, col);
- diagonale_minore (mat1, vet1, rig, col);
- massimo_matrice (mat1, rig, col, posrig1, poscol1);
- scrittura_mat_infile (mat1, rig, col);
- cout<<endl;
- system("pause");
- }
- void carica_matrice( matrice mat, int &r, int &c)
- {
- cout<<"inserisci numero righe : ";
- cin>>r;
- cout<<"inserisci numero colonne : ";
- cin>>c;
- for (int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- {cout<<"Inserisci elemento in posizione : ["<<i+1<<","<<j+1<<"] : ";
- cin>>mat[i][j];
- }
- }
- }
- void stampa_matrice (matrice mat, int r, int c)
- { cout<<"La matrice e' : "<<endl;
- for(int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- {cout<<mat[i][j]<<" ";
- }
- cout<<endl;
- }
- }
- void ricerca_min (matrice mat, int r, int c)
- { int min=mat[0][0];
- for(int i=0; i<r; i++)
- {for(int j=0;j<c;j++)
- {if ( mat[i][j]<min)
- min=mat[i][j];
- }
- }
- cout<<"\nL'elemento piu' piccolo presente nella matrice e' : "<<min;
- }
- void ricerca_max (matrice mat, int r, int c)
- { int max=mat[0][0];
- for( int i=0;i<r;i++)
- {for ( int j=0;j<c;j++)
- {if ( mat[i][j]>max)
- mat[i][j]=max;
- }
- }
- cout<<"\nL'elemento piu' grande presente nella matrice e' : "<<max;
- }
- void ricerca_min_rig( matrice mat, vettore vet, int r, int c)
- { for (int i=0;i<r;i++)
- {vet[i]=mat[i][0];
- for ( int j=0;j<c;j++)
- { if (mat[i][j]<vet[i])
- vet[i]=mat[i][j];
- }
- }
- cout<<"\nIl vettore contenente gli elementi piu' piccoli presenti sulle righe e' : ";
- for( int i=0;i<r;i++)
- cout<<vet[i];
- }
- void ricerca_max_rig ( matrice mat, vettore vet, int r, int c)
- { for( int i=0;i<r;i++)
- { vet[i]=mat[i][0];
- for (int j=0;j<c;j++)
- { if (mat[i][j]>vet[i])
- vet[i]=mat[i][j];
- }
- }
- cout<<"\nIl vettore contenente gli elementi piu' grandi presenti sulle righe e' : ";
- for(int i=0;i<r;i++)
- cout<<vet[i];
- }
- void ricerca_min_col (matrice mat, vettore vet, int r, int c)
- { for (int j=0;j<c;j++)
- {vet[j]=mat[0][j];
- for( int i=0;i<c;i++)
- { if ( mat[i][j]<vet[j])
- vet[j]=mat[i][j];
- }
- }
- cout<<"\nIl vettore contenente gli elementi piu' piccoli presenti sulle colonne e' : ";
- for(int j=0;j<c;j++)
- cout<<vet[j];
- }
- void ricerca_max_col ( matrice mat, vettore vet, int r, int c)
- { for (int j=0;j<c;j++)
- { vet[j]=mat[0][j];
- for (int i=0;i<c;i++)
- { if ( mat[i][j]>vet[j])
- vet[j]=mat[i][j];
- }
- }
- cout<<"\nIl vettore contenente gli elementi piu' grandi presenti sulle colonne' : ";
- for ( int j=0;j<c;j++)
- cout<<vet[j];
- }
- void diagonale_maggiore ( matrice mat, vettore vet, int r, int c)
- { if( r==c)
- { for ( int i=0;i<r;i++)
- {cout<<"\nIl vettore formato dagli elementi della diagonale maggiore della matrice e': ";
- for (i=0;i<r;i++)
- cout<<mat[i][i];
- }
- }
- else
- cout<<"La matrice deve avere il numero di righe uguale al numero di colonne!";
- }
- void diagonale_minore ( matrice mat, vettore vet, int r, int c)
- { if (r==c)
- {for ( int i=0;i<r;i++)
- {cout<<"\nIl vettore formato dagli elementi della diagonale minore della matrice e': ";
- for ( i=0;i<r;i++)
- cout<<mat[i][r-i-1];
- }
- cout<<endl;
- }
- else
- cout<<"La matrice deve avere il numero di righe uguale al numero di colonne!";
- }
- void massimo_matrice( matrice mat, int r, int c, int posrig, int poscol)
- { int i, j;
- elem max=mat[0][0];
- posrig=0;
- poscol=0;
- for (i=0;i<r;i++)
- {
- for (j=0;j<c;j++)
- { if ( max<mat[i][j])
- max=mat[i][j];
- posrig=i;poscol=j;
- }
- }
- cout << "\nL'elemento ricercato e' in posizione [ " << posrig+1 << " ][ " << poscol+1 << " ] ";
- }
- void scrittura_mat_infile ( matrice mat, int r, int c)
- { fstream file;
- char nomefile[20];
- cout<<"\bInserire nome file con estensione : ";
- cin>>nomefile;
- file.open(nomefile,ios::out);
- for( int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- {file<<mat[i][j];
- }
- file<<endl;
- }
- file.close();
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- #include <iostream>
- #include <fstream>
- using namespace std;
- void carica(int **mat,int &r,int &c);
- void stampa(int **mat,int r,int c);
- void minimo(int **mat,int r,int c);
- void massimo(int **mat,int r,int c);
- void max_rig(int **mat,int r,int c,int *vet);
- void min_rig(int **mat,int r,int c,int *vet);
- void max_col(int **mat,int r,int c,int *vet);
- void min_col(int **mat,int r,int c,int *vet);
- void somma_elem_riga(int **mat, int r,int c, int *vet);
- void somma_elem_col(int **mat,int r,int c,int *vet);
- void diagonale_maggiore(int**mat,int r,int c);
- void diagonale_minore(int **mat,int r,int c);
- void mat_in_file(int **mat,int r,int c);
- int main()
- {
- int **matrice;
- int rig,col;
- fstream file;
- int *vettore;
- vettore = new int [100];
- cout<<"Inserisci riempimento riga: ";
- cin>>rig;
- cout<<"\nInserisci riempimento colonne: ";
- cin>>col;
- matrice=new int*[rig];
- for (int i=0;i<rig;i++)
- matrice[i]=new int[col];
- carica(matrice,rig,col);
- stampa(matrice,rig,col);
- minimo(matrice,rig,col);
- massimo(matrice,rig,col);
- max_rig(matrice,rig,col,vettore);
- min_rig(matrice,rig,col,vettore);
- max_col(matrice,rig,col,vettore);
- min_col(matrice,rig,col,vettore);
- somma_elem_riga(matrice,rig,col,vettore);
- somma_elem_col(matrice,rig,col,vettore);
- diagonale_maggiore(matrice,rig,col);
- diagonale_minore(matrice,rig,col);
- mat_in_file(matrice,rig,col);
- delete matrice;
- system ("pause");
- }
- void carica(int **mat,int &r,int &c)
- { for (int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- { cout<<"\nInserisci l'elemento in posizione ["<<i+1<<"]["<<j+1<<"] : ";
- cin>>mat[i][j];
- }
- }
- }
- void stampa(int **mat,int r,int c)
- { cout<<"\nLa matrice e': \n";
- for (int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- { cout<<mat[i][j]<<" ";
- }
- cout<<endl;
- }
- }
- void minimo(int **mat,int r,int c)
- { int min=mat[0][0];
- for (int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- { if (mat[i][j]<min)
- min=mat[i][j];
- }
- }
- cout<<"\nIl minimo della matrice e': "<<min<<endl;
- }
- void massimo(int **mat,int r,int c)
- { int max=mat[0][0];
- for (int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- { if (mat[i][j]>max)
- max=mat[i][j];
- }
- }
- cout<<"\nIl massimo della matrice e': "<<max<<endl;
- }
- void max_rig(int **mat,int r,int c,int *vet)
- { for (int i=0;i<r;i++)
- { int max=mat[i][0];
- for (int j=0;j<c;j++)
- { if (mat[i][j]>max)
- max=mat[i][j];
- }
- vet[i]=max;
- }
- cout<<"\nVettore con i massimi di ogni riga: ";
- for (int i=0;i<r;i++)
- cout<<vet[i]<<" ";
- }
- void min_rig(int **mat,int r,int c,int *vet)
- { for (int i=0;i<r;i++)
- { int min=mat[i][0];
- for (int j=0;j<c;j++)
- { if (mat[i][j]<min)
- min=mat[i][j];
- }
- vet[i]=min;
- }
- cout<<"\nVettore contenente i minimi di ogni riga: ";
- for (int i=0;i<r;i++)
- cout<<vet[i]<<" ";
- }
- void max_col(int **mat,int r,int c,int *vet)
- { for (int j=0;j<c;j++)
- { int max=mat[0][j];
- for (int i=0;i<r;i++)
- { if (mat[i][j]>max)
- max=mat[i][j];
- }
- vet[j]=max;
- }
- cout<<"\nVettore contenente i massimi di ogni colonna: ";
- for (int j=0;j<c;j++)
- cout<<vet[j]<<" ";
- }
- void min_col(int **mat,int r,int c,int *vet)
- { for (int j=0;j<c;j++)
- { int min=mat[0][j];
- for (int i=0;i<r;i++)
- { if (mat[i][j]<min)
- min=mat[i][j];
- }
- vet[j]=min;
- }
- cout<<"\nVettore contenente i minimi di ogni colonna: ";
- for (int j=0;j<c;j++)
- cout<<vet[j]<<" ";
- }
- void somma_elem_riga(int **mat, int r,int c, int *vet)
- { for (int i=0;i<r;i++)
- { int somma=0;
- for (int j=0;j<c;j++)
- { somma=somma+mat[i][j];
- }
- vet[i]=somma;
- }
- cout<<"\nVettore contenente le somme degli elementi delle righe: ";
- for (int i=0;i<r;i++)
- cout<<vet[i]<<" ";
- }
- void somma_elem_col(int **mat,int r,int c,int *vet)
- { for (int j=0;j<c;j++)
- { int somma=0;
- for (int i=0;i<r;i++)
- { somma+=mat[i][j];
- }
- vet[j]=somma;
- }
- cout<<"\nVettore contenente le somme degli elementi delle colonne: ";
- for (int j=0;j<c;j++)
- cout<<vet[j]<<" ";
- }
- void diagonale_maggiore(int **mat,int r,int c)
- { if (r==c)
- { for (int i=0;i<r;i++)
- { cout<<"\nDiagonale maggiore: ";
- for (i=0;i<r;i++)
- cout<<mat[i][i];
- }
- }
- else
- cout<<"\nErrore, la matrice non e' quadrata.";
- }
- void diagonale_minore(int **mat,int r,int c)
- { if (r==c)
- { for (int i=0;i<r;i++)
- { cout<<"\nLa diagonale minore e': ";
- for (i=0;i<r;i++)
- cout<<mat[i][r-i-1];
- }
- }
- else
- cout<<"\nErrore, la matrice non e' quadrata.";
- }
- void mat_in_file(int **mat,int r,int c)
- { fstream file;
- char nome_file[20];
- cout<<"\nInserire il nome del file con estensione: ";
- cin>>nome_file;
- file.open(nome_file,ios::out);
- for (int i=0;i<r;i++)
- { for (int j=0;j<c;j++)
- { file<<mat[i][j];
- }
- }
- file.close();
- }
Add Comment
Please, Sign In to add comment