Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Просьба подсказать начинающему. C++. восстановить, Прошу помочь.  
:(
    Опции темы
Матвей2016
  Дата 16.5.2016, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 16.5.2016

Репутация: нет
Всего: нет



Просьба подсказать начинающему. C++. восстановить искаженное сообщение, переданное с утроением каждого бита.

Добрый день, Друзья. Я впервые на данном форуме, да и язык си++ только начинаю постигать. Поэтому прошу Вас навести меня на путь истинный в следующей задаче:
По каналу связи передаётся сообщение, имеющее последовательность 0 и 1. Существуют помехи и для повышения надёжности каждый сигнал передаётся трижды. Теперь 1=111, а 0=000.
В сообщении могли возникнуть ошибки, а поэтому вместо тройки цифр программа должна вывести ту, которая встречается по крайней мере 2 раза. 
Длина сообщения - число кратное трём, больше 2-х и меньше 760.

Вот пример вводных данных 100111011. Вот то, что должна вывести программа: 011.

Вот я начал писать программу:

Код


#include <iostream>
#include <string>
using namespace std;
int main()
{
    setlocale (0, "rus");
    system ("color 1C");
    char code[759];
    int i,m,x,v, sum;
    cin>>code; //вводится код
    int a=strlen(code);// тут мы находим кол-во цифр в числе
    int s=a%3;
    x=0; b=0;
        for(i=0; i<=a; i++){
if (code[i]='1'){
    x++;
}else{
b++;}
if (x+b==3){
if (x>b){
cout <<"1";
}if (x<b){
cout<<"0";}
x=0;
b=0;
}    else{
    continue;
}}
system ("pause");
return 0;
}


Вот как работает программа после компиляции 111000=11, а должно 10.



PM MAIL   Вверх
feodorv
Дата 16.5.2016, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(Матвей2016 @  16.5.2016,  19:42 Найти цитируемый пост)
if (code[i] = '1'){


А так же:

Цитата(Матвей2016 @  16.5.2016,  19:42 Найти цитируемый пост)
        for(i=0; i<=a; i++){




--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.