Last active
January 3, 2016 13:27
-
-
Save masiur/f28aec6d7ecc1d6ea14e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
হইসে ভাই। ভাব লইস না...