 
        
        
          Добавил:
          
          
        
        
    
            morpex_1_
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:лабы мышев / laba3
.cpp#include <iostream>
#include <bitset>
#include <string>
#include <fstream>
#include <cmath>
using namespace std;
void foo2(string& str)
{
	int num = 0;
	ofstream fout("D:\\File2.txt", ios::app);
	if (!fout.is_open()) { cout << "Error!"; exit(-1); }
	for (int i = 0; i < str.size(); i++)
	{
		if (str[i] == '1')
			num += pow(2, 7 - i);
	}
	fout << (char)num;
	fout.close();
}
void foo(string& str)
{
	int size = str.size();
	if (size % 8 != 0)
	{
		int dif = size % 8;
		for (int i = 0; i < 8 - dif; i++)
			str += '0';
	}
	string buf = "\0";
	for (int i = 0; i < str.size(); i++)
	{
		buf.push_back(str[i]);
		if ((i+1) % 8 == 0) {
			foo2(buf);
			buf = "\0";
		}
	}
}
int main()
{
	ifstream fin("D:\\File1.txt");
	if (!fin.is_open()) { cout << "Error!"; return 0; }
	char ch;
	bitset<9> b1;
	string str;
	while (fin.get(ch))
	{
		b1 = ch;
	
		bitset<9> b2;
		b2 = b1 << 1;
		string temp = "\0";
		int count = 0;
		temp = b2.to_string();
		for (int i = 0; i < temp.size(); i++)
		{
			if (temp[i] == '1')
				count++;
		}
		if (count % 2 == 0)
			b2[0] = 0;
		else
			b2[0] = 1;
		str += b2.to_string();
	}
	foo(str);
	fin.close();
	return 0;
}