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

Моделирование работы scrambler-а - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическая структура данных http://www.cyberforum.ru/cpp-beginners/thread274821.html
вот само задание: Построить класс для работы с односвязным списком. Элемент списка – действительное число. Сформировать список, содержащий неубывающую последовательность чисел, и преобразовать его так, чтобы последовательность была невозрастающей. это получилось, вот сам код, но это описан класс с фиксированным количеством элементов, а нужно еще переделать с динамической структурой данных чтоб...
C++ Класс наследования ак єто можно сделать Класс одиночного наследования. a) Модифицировать класс динамической структуры данных,содержащей строки (л.р. №2), чтобы он был производным от класса Container. б) Создать 2 различных класса, производные от класса динамической структуры, позволяющие сортировать и фильтровать выходные данные. Для этого вводятся виртуальные функции, соответственно, для сортировки – функция... http://www.cyberforum.ru/cpp-beginners/thread274804.html
C++ Поиск в текстовом файле
Всем привет! Нужно на С++ написать программу,в поиске похожего не нашёл. Вот сама задача - Имеются два текстовых файла. Определить в каком из файлов находится самая длинная строка?
Созндание окон C++
Дали задание написать прогу, ну вообщем я ее написал на с++ но в досовском окне , хочу сделать это в обычном окне , в конструкторе создал пару окошек на ввод и вывод , но как их с кодом соеденить не знаю, ввобщем у кого есть какая то инфа кидайте буду очень благодарен.
C++ Получить последовательность (Напишите прогу, кто может?) http://www.cyberforum.ru/cpp-beginners/thread274758.html
пожалуйста напишите прогу, кто может, пожалуйста. Условие:Даны натуральное число n, действительные числа Х1,...,Хn(n>=2). Получить последовательность Х1-Хn,Х2-Хn,...,Хn-1-Хn. СПС БОЛЬШОЕ заранее!!!
C++ Указатели в файлах прямого доступа Доброго времени суток имею следующее: FILE *fp; int m={1,2,3,4,5,6,7,8,9,10}; long int g; if((fp=fopen("test", "wb+"))==NULL) { printf("Ошибка при открытии файла.\n"); exit(1); подробнее

Показать сообщение отдельно
student_5
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 16
12.04.2011, 10:25     Моделирование работы scrambler-а
Помогите написать программу с использованием Scrambler...

Задача:
Смоделировать работу скремблера.
Скремблер имеет определенную разрядность и определенный полином – те разряды, которые при сдвиге складываются по XOR и поступают в старший разряд.
Состояние скремблера определяется содержимым сдвигового регистра.
Реализовать скремблер, нарисованный тут:
http://citforum.ru/internet/infsecure/its2000_15.shtml
Реализовать его в виде функции, выдающей при последовательном обращении к ней 0 или 1.
В качестве аргумента в функцию передаете по указателю состояние скремблера.
Опытным путем определить период изображенного скремблера.

Добавлено через 1 минуту
у меня есть XOR :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <stdlib.h>
char pass[4]=("Student");
int main(int argc, char *argv[])
{   
    int d = 1,i = 0;
    FILE *f;
    if ((f = fopen("/home/fire/fire.txt","r"))==NULL){
        printf("Не удается открыть файл!\n");
        exit(1);
    }
    FILE *f1;
    if((f1 = fopen("/home/fire/fire1.txt","w"))==NULL){
        printf("Не удается создать текстовый файл для записи!\n");
        exit(1);
    }
    while(d!=EOF)
    {
        d = fgetc(f);
            if (d==EOF)
            break;
            if(i==4)
            i = 0;
        fputc(d^pass[i], f1);
        ++i;
    }
    fclose(f);
    fclose(f1);
}
Добавлено через 1 минуту
есть еще и scrambler
с помощью которого нужно написать программу...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
int shift (int *s, int poly, int size)
{
    int result= *s&1;
    int a=0;
    int b=*s&poly;
    while (b)
    {
        a+=b&1;
        b>>=1;
    }
    *s>>=1;
    *s|= (a&1)<<(size-1);
    return result;
    }
int shift8(int *s, int poly, int size)
{
    int rv=0;
    int i;
    for(i=0;i<8;++i)
    {
        rv=(rv<<1)|shift(s,poly,size);
    }
    return rv;
}
int main(int argc, char *argv[])
{
    int s;
    int i;
    int m;
    s=742;
    while( (i=( getchar())) != EOF)
    {
        m=shift8(&s, 742, 10);
        putchar(m^i);
    }
        printf("\n");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru