Quantcast
Channel: Visual C forum
Viewing all articles
Browse latest Browse all 15302

calculating the probability of main characters in a string

$
0
0

i have a string from a user and i want to calculate the probability of each letter in this string 

i wrote this code in c++ but the probability comes to be zero i don't know why 

#include<iostream>
#include<fstream>
using namespace std;
#include<conio.h>
int main()
{ string x , y , unix , uniy ;
      int nx,ny,nux,nuy,countx,county ;
      cout<<"Enter the input message"<<endl;
      cin>>x;
cout<<"Enter the output message"<<endl;
cin>>y;
nx = x.length();
ny = y.length();
cout<<nx<<endl;
cout<<ny<<endl;
   unix =x;
   uniy=y;
sort(unix.begin(),unix.end());
unix.erase(unique(unix.begin(), unix.end()), unix.end());
cout<<unix<<endl;
nux= unix.length();
 
 int p[nux];


 for(int i=0;i<nux;i++)
  { 
      countx=0;
    for(int j=0;j<nx;j++)
     {if(unix[i]==x[j])
     countx ++;
        p[i]= countx;
      }
cout<<p[i]<<"\t";

}
sort(uniy.begin(),uniy.end());
uniy.erase(unique(uniy.begin(), uniy.end()), uniy.end());
cout<<uniy<<endl;
nuy= uniy.length();
int q[nuy];
for(int i=0;i<nuy;i++)
  { 
      county=0;
    for(int j=0;j<ny;j++)
     {if(uniy[i]==y[j])
     county ++;
        q[i]= county;
      }
cout<<q[i]<<"\t";

}
// probability p(X)
float probx[nux] , proby[nuy];
for(int i=0;i<nux;i++)
{
        probx[i]= p[i]/nx;
       
}
// probability p(y)
for(int i=0;i<nuy;i++)
{
        proby[i]=q[i]/ny;
        
}
for(int i=0;i<nux;i++)
{cout<<probx[i];}
getch();
return 0;
}


Viewing all articles
Browse latest Browse all 15302

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>