Skip to content

Instantly share code, notes, and snippets.

@masiur
Last active January 3, 2016 13:27
Show Gist options
  • Select an option

  • Save masiur/f28aec6d7ecc1d6ea14e to your computer and use it in GitHub Desktop.

Select an option

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
Copy Markdown

ghost commented Jan 3, 2016

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

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