Anteprima
Vedrai una selezione di 1 pagina su 2
Programmi C++ - Calcoli su una Matrice Pag. 1
1 su 2
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Gestione di una matrice letta da un file esterno ed esecuzione di vari calcoli su di essa
Estratto del documento

#include <iostream.h>

#include <stdio.h>

#include <stdlib.h>

class matrice {

float **p;

int r,c;

public:

matrice (int righe, int colonne);

void riempi (float,int,int);

void show ();

void densitamax (int,int);

};

matrice::matrice (int righe, int colonne) {

int i, j;

r=righe;

c=colonne;

p=new float* [r];

for (i=1;i<=r;i++)

{ p[i]=new float [c];

for(j=1;j<=c;j++)

p[i][j]=0;

};

};

void matrice::riempi (float n,int k,int l){

if ((!n)||(!k)||(!l)) exit (1);

p[k][l]=n;

};

void matrice::show () { int i,j;

for (i=1;i<=r;i++) {

cout<<"\n";

for (j=1;j<=c;j++)

cout<<p[i][j]<<" ";

}

cout<<endl<<endl;

};

void matrice::densitamax (int d, int e) {

float somma;

float dmedia;

float max=0;

int rmax,cmax;

int l,k;

for (int i=1; i<=(r-d+1); i++)

for (int j=1; j<=(c-e+1); j++) {

somma=0;

for (k=i; k<=(i+d-1); k++)

for (l=j; l<=(j+e-1); l++) {

somma +=p[k][l];

};

dmedia = somma/(d*e);

if (dmedia>max) {

max=dmedia; �

rmax=(k-d-1); //"l'angolo" dato dal punto a cui

� arrivato cmax=(l-e-1);}//il contatore - la dim della

matrice - 1 }; //(dato ke voglio lo spigolo

superiore)

Dettagli
Publisher
2 pagine
78 download