Skip to content

Instantly share code, notes, and snippets.

@masiur
Last active January 3, 2016 13:27
Show Gist options
  • Save masiur/f28aec6d7ecc1d6ea14e to your computer and use it in GitHub Desktop.
Save masiur/f28aec6d7ecc1d6ea14e to your computer and use it in GitHub Desktop.
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define sf scanf
#define pf printf
char figure[10][800];
int countPos=0;
int countNeg=0;
int polarNRZL(char signal[])
{
int figTrack = 0;
memset(figure,' ',sizeof(figure));
int i, len = strlen(signal) , j;
for(i=0; i<len; ++i)
{
figure[0][figTrack] = signal[i];
if(signal[i] == '0')
{
countPos++;
for(j=1; j<=4 ; ++j)
{
figure[1][figTrack] = figure[3][figTrack++] = '_';
// pf("%d", countPos);
}
}
else if(signal[i] == '1')
{
countNeg++;
for(j=1; j<=4; ++j)
{
figure[3][figTrack] = figure[6][figTrack++] = '_';
}
}
if(i+1<len && signal[i]!=signal[i+1])
{
for(j=2; j<6; ++j)
{
figure[j][figTrack] = '|';
}
figTrack++;
}
}
return figTrack;
}
int polarNRZI(char signal[])
{
int figTrack = 0;
memset(figure,' ',sizeof(figure));
bool flag = 0;
int i , len = strlen(signal) , j;
for(i=0; i<len; ++i)
{
figure[0][figTrack] = signal[i];
if(signal[i] == '1')
{
flag ^= true;
for(j=2; j<6; ++j)
{
figure[j][figTrack] = '|';
}
figTrack++;
}
if(!flag)
{
countPos++;
for(j=1; j<=4 ; ++j)
{
figure[1][figTrack] = figure[3][figTrack++] = '_';
}
}
else
{
countNeg++;
for(j=1; j<=4; ++j)
{
figure[3][figTrack] = figure[6][figTrack++] = '_';
}
}
}
return figTrack;
}
void drawFigure(int length)
{
for(int i=0; i<7; ++i)
{
for(int j=0; j<length; ++j)
pf("%c",figure[i][j]);
pf("\n");
}
pf("For Positive %d", countPos);
pf("For Negative %d", countNeg);
return ;
}
int main()
{
int select , length ;
char signal[1000];
do
{
pf("1 >> to get Polar NRZ-L\n");
pf("2 >> to get Polar NRZ-I\n");
pf("0 >> for EXIT\n");
sf("%d",&select);
if(select == 1)
{
pf("polarNRZL ----> ");
sf(" %s",signal);
pf("%s\n",signal);
length = polarNRZL(signal);
}
else if(select == 2)
{
pf("polarNRZI ----> ");
sf(" %s",signal);
pf("%s\n",signal);
length = polarNRZI(signal);
}
else
break;
drawFigure(length);
pf("\n\n\n");
countPos=0;
countNeg=0;
}
while(true);
return 0;
}
Copy link

ghost commented Jan 3, 2016

হইসে ভাই। ভাব লইস না...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment