Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Повторное выполнение вычислений при желании пользователя Здравствуйте! ! ! У меня к вам такая просьба, не могу до писать код к программе ... После завершения подсчетов, нужно вывести сообщение: не хотите ли попробовать заново (клавиша до пустим "В"), ну в смысле ( тоже самое как и при запуске {a=1 ; b=2 c=4}) , если нет то нажмите любую клавишу для выхода Все уже облазил, ни как в голове не укладывается как это сделать ПОЖАЛУЙСТА ПОМОГИТЕ! В... https://www.cyberforum.ru/ c-beginners/ thread170244.html fclose C (СИ)
Почему, если в Си пытаться закрыть неоткрытый файл, то вылетает ошибка сегментирования? В описании функции fclose дан следующий текст: Return Value If the stream is successfully closed, a zero value is returned. On failure, EOF is returned. Проблема такая, есть много файлов, с которыми необходимо работать. Хотел создать массив указателей на FILE. И выделить открытие/закрытие в функции.
C (СИ) Вызов функции по указателю, расположенному в структуре Господа, помогите с синтаксисом: не могу понять как мне вызвать функцию по указателю, расположенному внутри структуры. Вся эта писанина предназначена для организации легко изменяемого меню. struct chars { char string; }; struct navig { char line_2; https://www.cyberforum.ru/ c-beginners/ thread170012.html C (СИ) Проверка на ввод цифр https://www.cyberforum.ru/ c-beginners/ thread169969.html
Как реализовать проверку пользователя что он ввёл именно цифры ? Спасибо за ваши отзывы) #include <stdio.h> int pack(void); int unpack(void); int main(int argc, char *argv) { if (argc == 2),
C (СИ) Найти среднее арифметическое и среднее геометрическое чисел
Кто может решить эту задачу.Даны два действительных числа.Найти среднее арифметическое этих чисел и среднее геометрическое этих чисел.
C (СИ) Как вывести линейный список с различными типами значений ячеек Не подскажите, как это реализовать? Из файла считывается последовательность цифр a0 a1 a2 и тд, из них нужно создать линейный список вида a0*x^0 a1*x^1 a2*x^2 Получается, что я вписываю цифры и степень как int, а x^ - как char и когда пытаюсь вывести конечный список, то цифры выводятся нормально, а все остальное - чем-то непонятным. #include <fstream.h> #include <iostream.h> struct... https://www.cyberforum.ru/ c-beginners/ thread169878.html
C (СИ) Определить может ли символ являться цифрой в различных системах счисления Задан символ.Определить. может ли он являтьсяцифрой в системах счисленияс онованиями 2,8,10,16 #include<stdio.h> # include <conio.h> void main (void) { char x; clrscr(); printf("vvedite simvol\n"); https://www.cyberforum.ru/ c-beginners/ thread169856.html Вычисление суммы n членов последовательности C (СИ)
Есть задание написать программу на С, которая вычисляет сумму n членов ряда: 1 + 1*3/1*4 + 1*3*5/1*4*7 + 1*3*5*7/1*4*7*10..... Я сделал это так: #include <stdio.h> double CountRow(int n) { if(n>1) {
C (СИ) Вычисление ранга матрицы #include <stdio.h> #include <conio.h> void main() { int a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3, d, dx1, dx2, dx3, m; float x1, x2, x3; clrscr(); printf( "vvedite parametri 1-go virajeniya\n" ); scanf( "%d%d%d%d", & a1, & b1, & c1, & d1 ); printf( "vvedite parametri 2-go virajeniya\n" ); https://www.cyberforum.ru/ c-beginners/ thread169680.html C (СИ) Вывести по убыванию числа, без цикла) Задачка в универе.. Задано числа a,b,c,d. Вывести их в порядке уменьшения. дело в том что через масив и цикл это делается очень просто, но так как лаба первая по Си у меня, то как бы циклы и масивы использовать нельзя. я решил так, но програма получается довольно большая, может кто знает способ решить проще, уж никак не хочется рисовать блок-схему к этой задачке))? #include<stdio.h>=... https://www.cyberforum.ru/ c-beginners/ thread169676.html
Запрет ввода букв в массиве C (СИ)
Нужно дать возможность пользователю заполнять массив ТОЛЬКО цифрами, при попытке ввести буквы - выдать соответствующее предупреждение и повторить попытку ввода. Помогите пожалуйста, я уже замучился...я новичок :s int Mas; ... for(i=0; i<n; i++) { printf (" Mas = ",i); scanf ( "%d" ,&Mas);
C (СИ) Зацикливание программы. В чем проблема? дек через массив реализация. работает все кроме функции pop_front.на ней происходит зацикливание программы. в чем проблема? #include <iostream> #define maxn 1000 using namespace std; typedef struct { int dh,dt; https://www.cyberforum.ru/ c-beginners/ thread169598.html
1 / 1 / 2
Регистрация: 20.09.2010
Сообщений: 12
30.09.2010, 01:12  [ТС] 0

Восстановление CRC32, корректирующие байты. - C (СИ) - Ответ 993290

30.09.2010, 01:12. Показов 3679. Ответов 2
Метки (Все метки)

Ответ

Вот есть статейка, может кто-нибудь помочь отредактировать код, чтобы получилась полностью рабочая версия?

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Остается только рассчитать корректирующие байты _1_2_3_4_ и восстановить (в смысле "подделать") CRC. Будем действовать по шагам.
 
1) в точке "A" СRC равно начальному значению полинома (для CRC32 с отраженным полиномом EDB88320h - это FFFFFFFFh). В точке "D" оно известно из условия задачи и равно CRC_OK;
 
2) если участок A-B не пуст — считаем CRC от точки "A" до точки "B", используя обычную процедуру update_CRC32():
 
update_CRC32(unsigned long crc, unsigned char byte)
 
{
 
return crc32nornal[(unsigned char)crc ^ byte] ^ (crc >> 8);
 
}
 
3) если участок C-D не пуст — считаем CRC от точки "C" до точки "D", используя инверсную процедуру reverse_crc32():
 
// (c)Dmitry Tomashpolski
 
reverse_crc32(unsigned long crc, unsigned char byte)
 
{
 
return ((crc<<8) ^ crc32inv[(unsigned char)(crc>>24)] ^ (byte));
 
}
 
4) двигаясь в обратном направлении от точки "C" к точке "B", вычисляем элементы CRC-таблицы, преобразующие CRC(C) в CRC(B), и запоминаем индексы этих элементов в массиве i:
 
// (c)Dmitry Tomashpolski
 
k = 4;
 
y = CRC_D;
 
if((i[--k] = sr(crc32dir, y, 0xFF000000ul)) < 0) goto err;
 
t = crc32dir[i[k]]; y = (y ^ t)<<8 | i[k];
 
if((i[--k] = sr(crc32dir, y, 0xFF000000ul)) < 0) goto err;
 
t = crc32dir[i[k]]; y = (y ^ t)<<8 | i[k];
 
if((i[--k] = sr(crc32dir, y, 0xFF000000ul)) < 0) goto err;
 
t = crc32dir[i[k]]; y = (y ^ t)<<8 | i[k];
 
if((i[--k] = sr(crc32dir, y, 0xFF000000ul)) < 0) goto err;
 
t = crc32dir[i[k]]; y = (y ^ t)<<8 | i[k];
 
5) двигаясь в прямом направлении от точки "B" к точке "C" по индексам, рассчитанным на шаге 4, вычисляем корректирующие байты _1_2_3_4_, записывания их в массив x.
 
// (c)Dmitry Tomashpolski
 
y = CRC_B;
 
x[k] = (unsigned char) y ^ i[k];
 
z = crc32f(z, x[k]); k++;
 
y = z; x[k] = (unsigned char) y ^ i[k];
 
z = crc32f(z, x[k]); k++;
 
y = z; x[k] = (unsigned char) y ^ i[k];
 
z = crc32f(z, x[k]); k++;
 
y = z; x[k] = (unsigned char) y ^ i[k];
 
z = crc32f(z, x[k]); k++;
 
Остается только переместить массив x на отрезок B-C, удостовериться, что контрольная сумма блока не изменилась, и бежать в ближайший ларек за свежим пивом.
 
Все необходимые для взлома листинги приводятся ниже. Обрати внимание на копирайт. За исключением первого и третьего из них, мыщъх не имеет к ним никакого отношения! Так что за хвост не дергать и ногами не пинать.


Вернуться к обсуждению:
Восстановление CRC32, корректирующие байты. C (СИ)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2010, 01:12
Готовые ответы и решения:

Написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти байты в выходной файл
Здравствуйте!В убунту на Си нужно написать программу, которая бы считывала из входного файла байты...

Корректирующие коды
а). преобразовать заданное информационное слово 10101101011 из 11 двоичных цифр в двоичное слово...

Декодировать байты (в base64) в просто байты
Добрый день, нужно декодировать байты, которые зашифрованы в base64 в нормальные баты вот код : ...

Корректирующие коды при побайтовой передаче
Здравствуйте, меня зовут Дмитрий. Я студент, учусь на инженера связи, 2 курс. Тема моей...

2
30.09.2010, 01:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2010, 01:12
Помогаю со студенческими работами здесь

Определить корректирующие массы, необходимые для трехплоскостной балансировки ротора, по заданным условиям
При низкочастотной балансировке ротора измерили начальные дисбалансы D(a)=20 г*мм D(b)=40 г*мм....

CRC32
Здравствуйте! Мне нужно написать CRC32 в MATLAB Но я что-то не могу понять сам алгоритм CRC...

Crc32
Мне необходимо защитить 1 процедуру. Для этого я выбрал rcr23. Ну вопрос как это все реализовать?...

Crc32 файла
Добрый день! Я писала программку для вычисления crc32 файла с таблицей значений, но преподу она не...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru