Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Ralden
0 / 0 / 1
Регистрация: 24.03.2016
Сообщений: 3
1

Подскажите пожалуйста что тут происходит

18.10.2016, 06:32. Просмотров 195. Ответов 2

Объясните как формируются числа a,b,c,d, пожалуйста.
C++
1
2
3
4
5
6
7
8
char buf[64];
gets(buf);
 
 
    unsigned int a = buf[0] | (buf[4] << 8) | (buf[8] << 16);
    unsigned int b = buf[1] | (buf[5] << 8) | (buf[9] << 16);
    unsigned int c = buf[2] | (buf[6] << 8) | (buf[10] << 16);
    unsigned int d = buf[3] | (buf[7] << 8) | (buf[11] << 16);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2016, 06:32
Ответы с готовыми решениями:

Подскажите пожалуйста что происходит в цикле
Всем привет ,ребята я только недавно начал изучать язык C++ и нужна помощь ...

опишите подробно что тут происходит (int*)
char p; int *y=(int*)(p+8); //Можно ли считать y массивом в приведенной ниже...

Подскажите пожалуйста, я тут новенький в чем ошибка?
&quot;int main (void){int х, *р; х = 10; *р = х;return 0;}&quot; Я долгое время не как не...

Разъясните что тут написано, ну пожалуйста
Задали лабу - перевод рисунка с форматом BMP из цветного в ч/б изображение,...

Подскажите,что тут не так?
# include &lt;iosDream.h&gt; int main { int counter != 0 ; loop; counter ++...

2
SpBerkut
Объявлятель переменных
948 / 274 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
18.10.2016, 08:07 2
Похоже на формирование RGB значения цвета.
C++
1
2
3
a = buf[0]+buf[4]*256+buf[8]*65536;
b = buf[1]+buf[5]*256+buf[9]*65536;
// Ну, и так далее.
Код
В битах это выглядит так.
buf[0] = RRRRRRRR
buf[4] = GGGGGGGG
buf[8] = BBBBBBBB
buf[4] << 8 = GGGGGGGG 00000000
buf[8] << 16 = BBBBBBBB 00000000 00000000

   00000000 00000000 RRRRRRRR
 |
   00000000 GGGGGGGG 00000000
 |
   BBBBBBBB 00000000 00000000
 =
   BBBBBBBB GGGGGGGG RRRRRRRR
0
Ralden
0 / 0 / 1
Регистрация: 24.03.2016
Сообщений: 3
18.10.2016, 10:37  [ТС] 3
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
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include <string.h>
 
using namespace std;
 
int main()
{char buf[64];
    gets(buf);
 
    int l = strlen(buf);
    if (l * l != 144)
        return 1;
    unsigned int a = buf[0] | (buf[4] << 8) | (buf[8] << 16);
    unsigned int b = buf[1] | (buf[5] << 8) | (buf[9] << 16);
    unsigned int c = buf[2] | (buf[6] << 8) | (buf[10] << 16);
    unsigned int d = buf[3] | (buf[7] << 8) | (buf[11] << 16);
    if (!(((a % 3571) == 2963) && (((a % 2843) == 215)) && (((a % 30243) == 13059))))
        return 2;
    if (!(((b % 80735) == 51964) && (((b % 8681) == 2552)) && (((b % 40624) == 30931))))
        return 3;
    if (!(((c % 99892) == 92228) && (((c % 45629) == 1080)) && (((c % 24497) == 12651))))
        return 4;
    if (!(((d % 54750) == 26981) && (((d % 99627) == 79040)) && (((d % 84339) == 77510))))
        return 5;
    cout<<("Congratulations %s is flag\n",buf);
 
 
    return 0;
}
вот полный код. Как видно из первого условия вводится 12значное слово при вводе двенадцати единиц.
a==3223857;
если двенадцати 2 то 3289650.

я написал свою прогу и смог найти числа a,b,c,d которые удовлетворяют условиям.
a==4730967
b==3362099
с==7484236
d==3366731

и собственно вопрос стоит в том как их получить из первого слова.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2016, 10:37

Объясните пожалуйста как тут работает сортировка и что такое ostream_iterator<string>
вот код. Объясните пожалуйста как тут работает сортировка, сам не могу...

Объясните, пожалуйста что происходит в каждой функции
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;algorithm&gt;...

Объясните,пожалуйста,что происходит в этом куске программы?
Требуется динамическое выделение памяти под двухмерный массив с заполнением...


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

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

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