Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / очень сложное задание!!! / 13 сообщений из 13, страница 1 из 1
28.05.2013, 23:53
    #38277641
7186150
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Спроектируйте в консольном режиме:
• функцию, решающую задачу индивидуального задания с использованием только логических операций (функция1);
• функцию, решающую задачу индивидуального задания с использованием только структурных битовых полей (функция 2);
• функцию main(), которая обращается к одной из функций. Ввод и вывод информации сделайте в шестнадцатеричной системе счисления

Составить функцию, которая каждый байт информации перекодирует по следующей схеме: для каждых 4 бит применяется зафиксированная перестановка.
Группа битов s1, s2, s3, s4 меняется на s4, s3, s2, s1.
Используя функцию зашифровать строку символов и расшифровать

помогите сделать, умоляю вас!!!
...
Рейтинг: 0 / 0
28.05.2013, 23:58
    #38277645
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Это не просто сложное, а невыполнимое задание. Индивидуальное задание используя только
логические операции не решается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2013, 00:08
    #38277651
7186150
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Dimitry Sibiryakov,
ну а с помощью структурных битовых полей как сделать тогда?
...
Рейтинг: 0 / 0
29.05.2013, 00:15
    #38277659
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
7186150ну а с помощью структурных битовых полей как сделать тогда?

Шесть присваиваний:
Код: sql
1.
2.
3.
4.
5.
6.
t = a;
a = b;
b = t;
t = c;
c = d;
d = t;


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2013, 00:22
    #38277667
7186150
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Dimitry Sibiryakov,

void vvodbit(unsigned int& info)
{
BIT* p=(BIT*)&info;
unsigned int k;
info=0;
cout << "Введите 1 бит(0/1): ";
cin >> k;
p->s1 = k;
cout << "Введите 2 бит(0/1): ";
cin >> k;
p->s2 = k;
cout << "Введите 3 бит(0/1): ";
cin >> k;
p->s3 = k;
cout << "Введите 4 бит(0/1): ";
cin >> k;
p->s4 = k;
cout<<"Исходное число: "<<endl
<<p->s1<<p->s2<<p->s3<<p->s4<<endl;
}
void bitop(unsigned int& info)
{
BIT* p = (BIT*)&info;
unsigned int a;
a=p->s1;
p->s1=p->s4;
p->s4=a;
a=p->s2;
p->s2=p->s3;
p->s3=a;
cout<<"Новое число: "<<endl
<<p->s1<<p->s2<<p->s3<<p->s4<<endl;

ТАК ПОЙДЁТ???
...
Рейтинг: 0 / 0
29.05.2013, 00:35
    #38277674
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
7186150ТАК ПОЙДЁТ???
Я не препод, по мне так пойдёт всё, что даёт правильный результат.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2013, 00:37
    #38277676
7186150
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Dimitry Sibiryakov, значит пойдёт
...
Рейтинг: 0 / 0
29.05.2013, 14:52
    #38278572
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Dimitry Sibiryakov,

решается и довольно просто - через сдвиги.
...
Рейтинг: 0 / 0
29.05.2013, 15:35
    #38278667
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
chabapokрешается и довольно просто - через сдвиги.
Сдвиги не являются логическими операциями.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2013, 15:55
    #38278722
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Эту задачу спокойно можно решать символьными операциями. Вообще чтобы понять
что надо преподу надо полистать конспект. Что он давал? Что за темы были? Это
ближе к системному программингу? Или к дискретной математике? Или еще бог
знает к каким числовым автомататам. Язык то С++ один, а способов получить
на экране картинку - тыщи. В некоторой параллельной вселенной прокатил
бы даже вариант таблички xxxx -> yyyy с 16 позициями. Тоже в некотором роде
решение.
...
Рейтинг: 0 / 0
30.05.2013, 14:11
    #38280195
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Dimitry Sibiryakov,

сдвиги вцелом нет, но есть подтип сдвигов - логический сдвиг вправо и влево. Это когда в старший или младший биты вдвигаются нули.

И попробуй теперь докажи, что логический сдвиг не является логической опеацией? :)
...
Рейтинг: 0 / 0
30.05.2013, 14:28
    #38280231
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
chabapokесть подтип сдвигов - логический сдвиг вправо и влево. Это когда в старший
или младший биты вдвигаются нули.
И давно этот сдвиг называется "логическим"? В пору моей юности он вообще не был достоин
специального термина в отличии от "циклического" сдвига.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.05.2013, 14:59
    #38280289
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
очень сложное задание!!!
Dimitry Sibiryakov,

Он так всегда назывался - можете в гугле проверить, если мне не верите.
был еще арифметический вправо - с сохранением старшего бита.
Ну и циклический

и могут быть еще в системе команд процессора через флаг переноса сдвиги, но так глубоко мы копать уже не будем.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / очень сложное задание!!! / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]