Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
#1

Прием, передача и сравнение последовательности Баркера - C++

01.07.2014, 08:49. Просмотров 492. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста.Пишу программу клиент-сервер. Клиент передает м-последовательность или последовательность Баркера, сервер ее принимает и проверяет правильная ли последовательность пришла, для этого надо сравнить эталонную последовательность с пришедшей. При сравнении следует учитывать задержку прихода сигнала. Между собой программы передают последовательность через COM-порт.
В «клиенте» с помощью массива формирую последовательность Баркера, например длинной 11(последовательность из 1 и -1 дана).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Copen_comDlg::OnBnClickedRadio6()
{
    DWORD d;
    //setlocale(0, ""); 
    int arr[11]={1,1,1,-1,-1,-1,1,-1,-1,1,-1};
    int i;
 
    for( i=0; i<11; i++)
    {
        sprintf(buffer,"%d",arr[i]);    
        WriteFile(h,buffer,strlen(buffer),&d, NULL); 
    }
}
«Сервер» считывает эту последовательность:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void CpriemDlg::OnBnClickedButton2()
{
    DWORD d;
    char buf_in[20];
    
    if(ReadFile(h,&buf_in,strlen(buf_in),&d,NULL)==0)
    
        buf_in[d]='\0';
        command_word1+= buf_in;
        UpdateData(false);
 
    }
    
    return;
    UpdateData(true);
    
}
Как сравнить пришедшую последовательность с уже имеющейся и сделать вывод что они совпадают или нет?

P.S: спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 08:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Прием, передача и сравнение последовательности Баркера (C++):

Сравнение заданной последовательности с эталонной - C++
Задана последовательность чисел от 1 до N, каждое из которых встречается ровно один раз. Назовем ее эталонной. Задана еще...

Сравнение элемента последовательности и параметра цикла - C++
Ребят, помогите в Си перевести как нибудь написать код, это сортировка вырожденным распределением: Создать цикл, максимальный параметр...

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++ - C++
Доброго времени суток! Имеется код программы: ifstream test(&quot;primer.txt&quot;); char awm = &quot;kod&quot;; char buff; test &gt;&gt; buff; if (buff...

Строку закодировать с помощью последовательности Баркера и вывести на экран - C#
Итак, пользователь вводит шестиразрядное двоичное число с клавиатуры. Эту строку нужно закодировать с помощью последовательности...

QUdpSoket передача и прием - C++ Qt
Реализован обмен сообщения по udp. Такая проблема, при запуске на двух компьютера с ос windows все работает хорошо. Клиент отправляет,...

RS-232. Передача и прием данных - КИП, датчики
Подскажите пожалуйста. не опытному программисту в чем может быть проблема с этим кодом: вставляю в форму не сохраняется((( буду очень...

6
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
03.07.2014, 11:57 #2
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
Как сравнить пришедшую последовательность с уже имеющейся
Для сравнения Си-строк см. strcmp. Для массивов и других объектов (побитово): memcmp.
1
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 14:27  [ТС] #3
А я правильно думаю, что пришедшую последовательность,мне надо преобразовать из строки в массив?
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
03.07.2014, 14:37 #4
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
А я правильно думаю, что пришедшую последовательность,мне надо преобразовать из строки в массив?
Не принципиально, смотря с чем сравнивать. Если сравнивать со строкой "111-1-1-11-1-11-1", то ничего преобразовывать не надо. Если с массивом {1,1,1,-1,-1,-1,1,-1,-1,1,-1}, то надо преобразовать. Короче говоря, при сравнении "типы" должны быть одинаковыми.
1
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 14:57  [ТС] #5
а если сравнивать с массивом, подскажите как это реализовать?


P.S: огромное спасибо)))
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
03.07.2014, 15:07 #6
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
а если сравнивать с массивом, подскажите как это реализовать?
См. описание memcmp
1
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 15:09  [ТС] #7
Ок, спасибо)))
0
03.07.2014, 15:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2014, 15:09
Привет! Вот еще темы с ответами:

Одновременная передача и прием данных - C#
Здравствуйте! При попытки передать и получить данные одновременно, возникает проблема, т.е. при получении часть данных теряется string s...

Прием и передача пакетов по сети. - Visual Basic
КАК ПЕРЕДАТЬ ИЛИ ПОЛУЧИТЬ ПАКЕТ ПО СЕТКЕ, ХОТЯ БЫ В ОБЩЕМ ПРИНЦИП ИЛИ ФУНКЦИИ. ЗАРАНЕЕ ВСЕМ СПАСИБО.

Передача-прием по COM2? Помогите. - Visual Basic
Очень нужно организовать прием и передачу данных по COM2. Если есть какие-нибудь наработки в этой области, огромная просьба, помогите. ...

Attiny 13 прием и передача ик сигнала - AVR
Здравствуйте форумчане,объясните пожалуйста не опытному , как принять ик сигнал ,то есть с тиньки 13 я передаю ик сигнал с определенным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru