void histograma(float trazas[] ), asi estoy declarando la funcion
histograma(traza[]); asi la estoy llamando, por el momento solo queria pasar a trazas a histograma, sin que histograma me retornara algun valor, pero igual me da error. A continuacion presento el codigo
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <cstdlib>
#include <vector>
////////
using namespace std;
void histograma(float trazas[]);
int main ()
{std::vector<float> simbolos;
std::vector<float> frecuencias;
std::vector<float> probabilidades;
FILE *archivo;
char caracter;
std::vector<float> ayudante;
std::vector<float> traza;
float ayuda;
char numPtr[1];
float por=5;
archivo = fopen("D:\\entrada10.txt","r");
if (archivo == NULL){
printf("\nError de apertura del archivo. \n\n");
}else{
printf("\nEl contenido del archivo de prueba es \n\n");
while (feof(archivo) == 0)
{
caracter = fgetc(archivo);
// printf("%c",caracter);
numPtr[1]=caracter;
ayuda=float(numPtr[1]-48);
// cout<<"\n ayuda="<<ayuda;
int kk=0;
ayudante.push_back(ayuda);
////////////////////////////////// aqui empezamos a tranformar
if (ayuda==-38)
{
// for(int ii=0;ii<ayudante.size();ii++)////mostrando ayudante
// {cout<<"\n ayudante["<<ii<<"]="<<ayudante[ii];}
if (ayudante[0]==-3)/////saber si es negativo
{ kk=1;
ayudante.erase (ayudante.begin());
}//////////
ayudante.pop_back();
int i=0;
float suma=0;
int cifras=0;/////dice cuantas cifras enteras tiene
while (i<ayudante.size()) ///////saber cuantas cifras enteras tiene
{ if(ayudante[i]==-2)//contador de cifras enteras
{cifras=i;
i=ayudante.size();
}
else
{i++;
cifras=i;
}
;
} //////////termina while
int ii=0;
int cifraaux=cifras;
float aux=0;
int k=0;
while (cifras>1)/////parte entera
{aux=ayudante[ii];
k=cifras;
while (k>1) ///////multiplicaciones parte entera
{aux=aux*10;
k--;
}
cifras--;
ii++;
suma=suma+aux;
// cout<<"\n suma="<<suma;
}
suma=suma+ayudante[ii];
int deci=ayudante.size()-cifraaux-1;
ii=ayudante.size()-1;
while (deci>0)////parte decimal
{aux=ayudante[ii];
k=deci;
while(k>0)///haciendo decimales
{aux=aux/10;
k--;
}
deci--;
ii--;
suma=suma+aux;
// cout<<"\n suma="<<suma;
}
if (kk==1)/////////signo negativo
{traza.push_back(suma*-1);
}
else
{traza.push_back(suma);
}
// for(int ii=0;ii<traza.size();ii++)////mostrando ayudante
// {cout<<"\n traza["<<ii<<"]="<<traza[ii];}
ayudante.clear();
/////////////haciendo visajes
int tamanotraza=traza.size();
///////////////
/////////////llamado a histograma
histograma(traza[]);
///////////////////////
return 0;
}
///////////////funcion HISTOGRAMA
void histograma(float trazas[] )
{
int contfre=0;
simbolos.push_back(traza[0]);
for (int ii=0;ii<traza.size();ii++)
{if (traza[ii]==traza[0])
{contfre++;}
}
frecuencias.push_back(contfre);
cout<<"\n simbolos[0]="<<simbolos[0];
cout<<"\n frecuencias[0]="<<frecuencias[0];
for (int i=1;i<traza.size();i++)
{int cont=0;
int contfre=0;
for (int ii=0;ii<simbolos.size();ii++)
{if (traza[i]==simbolos[ii])
{cont++;
break;}
}
if (cont==0)
{simbolos.push_back(traza[i]);
for (int ii=i;ii<traza.size();ii++)
{if (traza[ii]==traza[i])
{contfre++;}
}
frecuencias.push_back(contfre);
}
}
for(int ii=0;ii<simbolos.size();ii++)
{cout<<"\n simbolos["<<ii<<"]="<<simbolos[ii];
cout<<"\n frecuencias["<<ii<<"]="<<frecuencias[ii];}
float sumama=0;
for(int ii=0;ii<simbolos.size();ii++)
{sumama=sumama+frecuencias[ii];}
cout<<"\n sumama="<<sumama;
for(int ii=0;ii<simbolos.size();ii++)
{float ayuda=0;
ayuda=frecuencias[ii]/sumama;
probabilidades.push_back(ayuda);
cout<<"\n probabilidades["<<ii<<"]="<<probabilidades[ii];}
float sumamam=0;
for(int ii=0;ii<simbolos.size();ii++)
{sumamam=sumamam+probabilidades[ii];}
cout<<"\n sumamam="<<sumamam;
}