1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#include "Calcule.h"
#include <iostream>
#include<fstream>
#include<math.h>
using namespace std;
Calcule::Calcule(char *fileName)
{
ifstream file(fileName); //ouverture de fichier
if (!file.is_open())
cout << "IMPOSSIBLE D'OUVRIRE LE FICHIER !" << endl;
else
{
file>>nbl;
file>>nbc;
/* Allocation dynamique de la matrice */
data = new float* [nbl];
for (int i=0; i < nbl; i++)
data[i] = new float[ nbc ];
/* lire la matrice depuis le fichier */
float tmp;
for(int i=0;i<nbl;i++){
for(int j=0;j<nbc;j++){
file>>tmp;
data[i][j]= tmp;
}
}
/////////////////////
//*afficher la matrice ////
for(int i=0;i<nbl;i++){
for(int j=0;j<nbc;j++)
{
cout << data [i][j] << " " ;
}
cout << endl;
}
}
}
///////////////////////////////////////////////////////////////////////////////
void Calcule::Afficher( float **mat){
for(int i=0;i<nbl;i++){
for(int j=0;j<nbc;j++)
{
cout << mat [i][j] << " " ;
}
cout << endl;
}
}
/////////////////////////////////////////////////////////////////////////
float Calcule:: calcule_dis(float **data){
/* Allocation dynamique de la matrice */
float ** dist = new float* [nbl];
for (int i=0; i < nbl; i++)
dist[i] = new float [ nbc ];
/////////////////////
for( int i=0;i<nbl;i++ ){
for (int j=0; j<nbl ; j++){
for (int k=0; k <nbc; k++){
dist[i][j]=(float)pow(data[i][k]-data[j][k], 2 );
} } }
for( int i=0;i<nbl;i++ ){
for (int j=0; j<nbl ; j++){
return dist[i][j]= sqrt(dist[i][j]);
} }
}
//////////////////////////////////////////////
Calcule::~Calcule(){
delete []data;
} |
Partager