#include <iostream>
#include <fstream>
int main() {
std::ifstream file("message.txt");
if(!file) {
std::cout << "Ошибка открытия файла" << std::endl;
return 1;
}
for(int i = 0; i < 5; i++) {
std::string line;
std::getline(file, line);
if(i < 4) {
// Проверка четности
int parity = 0;
for(int j = 0; j < 3; j++) {
if(line[j] == '1') parity++;
}
if(parity % 2 != (line[3] - '0')) {
std::cout << "Ошибка четности в строке " << i+1 << std::endl;
}
// Проверка одинаковости
int zeros = 0, ones = 0;
for(int j = 0; j < 3; j++) {
if(line[j] == '0') zeros++;
else ones++;
}
if(zeros % 3 != (line[4] - '0')) {
std::cout << "Ошибка одинаковости в строке " << i+1 << std::endl;
}
}
else {
// Проверка четности
int parity = 0;
for(int j = 0; j < 2; j++) {
if(line[j] == '1') parity++;
}
if(parity % 2 != (line[2] - '0')) {
std::cout << "Ошибка четности в строке " << i+1 << std::endl;
}
// Проверка одинаковости
int zeros = 0, ones = 0;
for(int j = 0; j < 2; j++) {
if(line[j] == '0') zeros++;
else ones++;
}
if(zeros % 2 != (line[3] - '0')) {
std::cout << "Ошибка одинаковости в строке " << i+1 << std::endl;
}
}
}
std::cout << "Ошибок не обнаружено" << std::endl;
return 0;
}
Соседние файлы в папке кейс