Форум программистов, компьютерный форум CyberForum.ru

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

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

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

01.07.2014, 08:49. Просмотров 388. Ответов 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: спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 08:49     Прием, передача и сравнение последовательности Баркера
Посмотрите здесь:

C++ Прием врача
Вывод последовательности, определяющий, являются ли простыми/совершенными соответствующие элементы введённой последовательности C++
Сравнение элемента последовательности и параметра цикла C++
Массив. Найти, сколько членов первой последовательности совпадает с членами второй последовательности C++
Прием по modbus. Как указать число считываемых байтов C++
UDP отправка и прием пакетов C++
C++ Server Socket и прием данных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.07.2014, 11:57     Прием, передача и сравнение последовательности Баркера #2
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
Как сравнить пришедшую последовательность с уже имеющейся
Для сравнения Си-строк см. strcmp. Для массивов и других объектов (побитово): memcmp.
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 14:27  [ТС]     Прием, передача и сравнение последовательности Баркера #3
А я правильно думаю, что пришедшую последовательность,мне надо преобразовать из строки в массив?
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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}, то надо преобразовать. Короче говоря, при сравнении "типы" должны быть одинаковыми.
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 14:57  [ТС]     Прием, передача и сравнение последовательности Баркера #5
а если сравнивать с массивом, подскажите как это реализовать?


P.S: огромное спасибо)))
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.07.2014, 15:07     Прием, передача и сравнение последовательности Баркера #6
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
а если сравнивать с массивом, подскажите как это реализовать?
См. описание memcmp
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2014, 15:09     Прием, передача и сравнение последовательности Баркера
Еще ссылки по теме:

C++ Прием MPI_Bcast
Построить элементы в убывающей последовательности и вывести первоначальные индексы последовательности C++
C++ В последовательности найти числа, которые близки к числам другой последовательности
C++ Сравнение заданной последовательности с эталонной
C++ Найти, сколько членов первой последовательности совпадает с членами второй последовательности

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

Или воспользуйтесь поиском по форуму:
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 15:09  [ТС]     Прием, передача и сравнение последовательности Баркера #7
Ок, спасибо)))
Yandex
Объявления
03.07.2014, 15:09     Прием, передача и сравнение последовательности Баркера
Ответ Создать тему
Опции темы

Текущее время: 14:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru