Pagini recente » Rating Farcas Alex (Darkhider23) | Cod sursa (job #2208461) | Rating no name (just_felidae) | Cod sursa (job #213721) | Cod sursa (job #1961528)
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
FILE *fin, *fout;
int a, b, x, y, k, i, nrc, nr, max=0, h;
fin = fopen("morse.in", "r");
fout = fopen("morse.out", "w");
fscanf(fin,"%d%d", &a, &b);
for(x=a;x<=b;x++){
y=x;
nrc=0;
for(i=0;i<=32;i++){
if((y&1)==1)
nrc=i;
y=y>>1;
}
y=x;
nr=0;
for(i=nrc;i>=0;i--){
k=y&1;
if(k==1)
nr++;
y=y>>1;
}
if(nr>max)
max=nr;
}
for(x=a;x<=b;x++){
y=x;
for(i=0;i<=32;i++){
if((y&1)==1)
nrc=i;
y=y>>1;
}
y=x;
nr=0;
for(i=nrc;i>=0;i--){
k=y&1;
if(k==1)
nr++;
y=y>>1;
}
y=x;
h=nrc;
if(nr==max){
for(i=nrc;i>=0;i--){
y=x>>h;
if((y&1)==0)
fprintf(fout,".");
if((y&1)==1)
fprintf(fout,"-");
h--;
}
fprintf(fout," ");
}
}
fclose(fin);
fclose(fout);
return 0;
}