Ho provato cosi ma mi da errore a int max=m1[o] perke?
#include "matrici.h"
void leggi(matrice m ,int &r ,int &c)
{
cout<<"Inserisci il numero di righe :\n";
cin>>r;
cout<<"Inserisci il numero di colonne :\n";
cin>>c;
cout<<"\n";
for(int i=0; i<r; i++)
for(int j=0; j<c; j++)
{
cout<<"Inserisci l'elemento della matrice di posizione ["<<i<<"]["<<j<<"] = ";
cin>>m[j];
cout<<"\n";
}
}
void stampa(matrice m,int r,int c)
{
cout<<"Ecco la matrice :\n";
for(int i=0; i<r; i++)
{
for(int j=0; j<c; j++)
cout<<m[j]<<" | ";
cout<<"\n";
}
cout<<"\n";
}
void istogramma(matrice m, int r, int c, vettore histo,int &rh)
{
rh=RH;
for(int i=0; i<rh; i++)
histo=0;
for(int i=0; i<r; i++)
for(int j=0; j<c; j++)
histo[m[j]]++;
}
void stampa_isto(vettore histo,int rh)
{
cout<<"Ecco l'istogramma :";
for(int i=0; i<rh; i++)
{
cout<<i;
if(histo!=0)
{
for(int j=0; j<histo; j++)
cout<<"*";
}
cout<<"\n";
}
}
int massimo(matrice m1,int r1,int c1)
{
int max=m1[0];
for (int i=0;i<r;i++)
if(m1>max)
max=m1;
return max;
}
int posizioneMax(matrice m1, int r,int c)
{
int pos;
pos=0;
for(int i=0;i<r;i++)
if(m1>m1[pos])
pos=1;
return pos;
}
void cancella (matrice m1,int &r,int &c,int pos)
{
for(int i=pos;i<r;i++)
m1=m1[i+1];
r--;
}
.h
#ifndef matrici_h
#define matrici_h
#define R 100
#define C 100
#define RH 256
#include <iostream>
#include <cstdlib>
typedef int matrice [R][C];
typedef int vettore [RH];
using namespace std;
//linearizzazione per riga j+i*C
//linearizzazione per colonna i+j*R
void leggi(matrice,int&,int&);
void stampa(matrice,int,int);
void istogramma(matrice,int,int,vettore,int&);
void stampa_isto(vettore,int);
int somma_diag_principale(matrice,int,int);
int somma_diag_secondaria(matrice,int,int);
void elimina_riga(matrice,int&,int,int);
int massimo(matrice m1, int r,int c);
int posizioneMax(matrice m1, int r,int c);
void cancella(matrice m1,int &r, int &c, int pos);
#endif
main
#include "matrici.h"
int main(int argc, char *argv[])
{
matrice m1;
int r1,c1,rh1;
vettore h1;
int max;
int pMax;
leggi(m1,r1,c1);
stampa(m1,r1,c1);
istogramma(m1,r1,c1,h1,rh1);
stampa_isto(h1,rh1);
max=massimo(m1,r1,c1);
pMax=posizioneMax(m1,r1,c1);
cancella(m1,r1,c1,pMax);
system("PAUSE");
return EXIT_SUCCESS;
}