Задача такова:
написать 3-и функции:
- Создающую массив из случайных чисел
- Проверяющую массив на кпорядоченность по возрастанию
- Сортирующую массив методом шейкера на языке C++
- Сортирующую массив методом шейкера на языке Assembler
Show ▼
// compressor.cpp : компрессор текста с декомпрессором
//
#include "stdafx.h"
#include
using namespace std;
bool compressor(const char *_Dst, const char *_Src)
{
FILE *dst=fopen(_Dst, "w");
FILE *src=fopen(_Src, "r");
if(dst==NULL||src==NULL)
return false;
char tmp, com;
int co, end=1;
int fmask=64, mask=128;
while(end>0)
{
end=fscanf(src, "%c", &com);
// cout<<end;
for(co=0; co0 ;co++)
{
end=fscanf(src, "%c", &tmp);
// cout<0)
{
if(com&(fmask>>co))
tmp=tmp|mask;
int fail=fprintf(dst, "%c", tmp);
if(fail<1)
return false;
}
}
}
if(co0)
int fail=fprintf(dst, "%c", com);
int fail=fclose(src);
fail=fclose(dst);
return true;
}
bool decompressor(const char *_Dst, const char *_Src)
{
FILE *dst=fopen(_Dst, "w");
FILE *src=fopen(_Src, "r");
if(dst==NULL||src==NULL)
return false;
char gen=0;
char tmp[8];
int fmask=64, mask=128;
int end=1, fail, co;
while(end>0)
{
for(co=0; co0); co++)
{
end=fscanf(src,"%c", &tmp[co]);
if((tmp[co]&mask))
gen=gen|(fmask>>co), tmp[co]=tmp[co]&~mask;
}
if(end0)
fail=fprintf(dst, "%c", tmp[co-1]), tmp[co-1]=', fail=fprintf(dst, "%s", tmp);
else if(co==7)
tmp[co]=', fail=fprintf(dst, "%c", gen), fail=fprintf(dst, "%s", tmp);
gen=0;
}
}
void main()
{
bool tmp=compressor("dest", "test");
tmp=decompressor("out", "dest");
system("pause");
}