Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 52

Объясните короткий кусочек кода

28.04.2016, 07:56. Показов 1877. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: написать программу которая расшифровывает сообщение закодированное в файле c_autorun_ru.bmp

Код программы на фото, нужно объяснить что и как сделано.
 Комментарий модератора 
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
Перепишите код в тему
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2016, 07:56
Ответы с готовыми решениями:

непонятен кусочек кода
Вот функция равномерного распределинея чисел. int x1=time(NULL)*16331; int rand_d(int t) { float r; int da=0, db=t, m=97,...

Объяснить не большой кусочек кода (из строки со временем в цифры)
Дана строка времени. Часы, минуты, секунды разделены ':'. Записать время переменные h, m, s. Взял код у одного пользователя, всё...

Кто может полно и грамотно прокомментировать кусочек кода?
PV->NEXT = 0; PV->D = D;

4
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
28.04.2016, 08:19
Сделаю доброе дело, ведь картинку модератор удалит.
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
int main()
{   setlocale(LC_ALL,"russian");
    FILE *f;
    f=fopen("c_autorun_ru.bmp","rb");
    fseek(f, 10, SEEK_SET);
    int sm;
    
    fread(&sm,sizeof(sm),1,f);
    fseek(f,sm,SEEK_SET);
    
    unsigned char b[8]={0}, s=0, er=0;
    while (er!=8)
    {
        er = 0;
        fread(b,sizeof(b),1,f);
        for(int i=0;i<8;i++)
        {
            b[i]&=1;
            if (b[i]==0) er++;
            s|=b[i]<<7-i;
        }
        cout<<s;
        s=0;
    }
    getch();
    return 0;
}
1
28.04.2016, 08:20

Не по теме:

1. Фото в лом было повернуть (имхо, это просто неуважение к тем, от кого хотите получить помощь).
Типа барин дает задание холопам. :negative:
2. Правилами форума запрещено размещать задания в виде фото :rtfm:

0
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 52
28.04.2016, 08:26  [ТС]

Не по теме:

zer0mail, прошу прощения, не знал:scratch:



Добавлено через 4 минуты
SpBerkut, а вы не подскажите что обозначают вот эти строки?
C++ (Qt)
1
2
3
4
5
6
7
        fread(b,sizeof(b),1,f);
        for(int i=0;i<8;i++)
        {
            b[i]&=1;
            if (b[i]==0) er++;
            s|=b[i]<<7-i;
        }
0
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
28.04.2016, 08:40
Это похоже на стенографию.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
unsigned char b[8]={0}, s=0, er=0;
    while (er!=8)               //если будет прочитано 8 нулей подряд, то выйдем
    {
        er = 0;
        fread(b,sizeof(b),1,f); //Читаем 8 байт из файла
        for(int i=0;i<8;i++)    
        {
            b[i]&=1;            //если значение чётное, то b[i]=0, иначе b[i]=1
            if (b[i]==0) er++;  //накапливаем ошибку
            s|=b[i]<<7-i;       //записываем бит, хранящийся в b[i] на (7-i)-ю позицию в переменной s
        }
        cout<<s;
        s=0;
    }
Грубый пример:
Есть 8 байтов : 01110010 01100111 01100101 01110111 01101110 01101000 01110111 01010111
Из каждого байта берём младший бит: 0 1 1 1 0 0 1 1
Записываем эти биты в 1 байт: 01110011 = 115
Выводим символ с соответствующим кодом: s
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2016, 08:40
Помогаю со студенческими работами здесь

Объясните кусочек кода
В общем есть строчка: var sortDict = dict.OrderByDescending(x =&gt; x.Value); Объясните ее полностью и особенно интересно &quot;x...

Объясните кусочек кода
Объясните кусочек кода,как,что выполняется,можно в эквиваленте на c++ (defun app (x y) (cond ((endp x) y) (t (cons (car x) ...

Объясните этот кусочек кода
Здравствуйте, объясните пожалуйста, чем отличается такой метод: public partial class Form1 : Form { public Form1() { ...

Объясните как работает код(маленький кусочек)
Суть задания - вывести, какие буквы и сколько раз встречались в веденном пользователем тексте(даю кусок кода). С помощью интернета смог в...

Объяснить кусочек кода
for (i = 0; i &lt; a; i++) { printf(&quot;введите строку #%d\n&quot;,i+1); Конкретно интересует - зачем(почему, на кой и т.д.) в printf мы...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru