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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
#1

Замена аргументов функции - C++

20.03.2014, 07:54. Просмотров 243. Ответов 3
Метки нет (Все метки)

Добрый день! Имеется функция:
C++
1
2
3
4
5
6
7
8
9
10
11
void funct (uint32_t* v, uint32_t* k) {
    uint32_t v0=v[0], v1=v[1], sum=0, i;          
    uint32_t delta=0x9e3779b9;                    
    uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];   
    for (i=0; i < 32; i++) {                     
        sum += delta;
        v0 += ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);
        v1 += ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);
    }                                            
    v[0]=v0; v[1]=v1;
}
На вход подаём:
v — исходный текст состоящий из двух частей по 32 бита
k — постоянная состоящая из четырёх 32-битных частей
Правильно ли изменил в тексте своей программы тело функции для непосредственного запуска?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
uint32_t key[4]={0xFDA5,0xD54E,0xFC00,0xB55A};
uint32_t delta = 0x9E3779B9;
uint32_t sum = 0xC6EF3720;  
uint32_t k0=key[0], k1=key[1], k2=key[2], k3=key[3];
 
for (int i = 0; i < 32; i++) {
            inf2 -= ((inf1<<4) + k2) ^ (inf1 + sum) ^ ((inf1>>5) + k3);
            inf1 -= ((inf2<<4) + k0) ^ (inf2 + sum) ^ ((inf2>>5) + k1);
            sum -= delta;
        }
        massiv[m]  = inf1;
        massiv[m+1] = inf2;
        m = m + 2;
massiv это массив типа uint32_t, блоки inf1 и inf2 имеют тип uint32_t.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 07:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Замена аргументов функции (C++):

Есть функция с кучей аргументов, как её вызвать в другой функции (если половины аргументов у меня нет)? - C++
Я конечно, понимаю, что на такие вопросы отвечают &quot;почитай книжку&quot;. Я читала, честное слово:) Конкретно. Есть функция void jacobi (...

Ошибка в шаблоне функции: "Отсутствуют экземпляры шаблон функции, соответствующие списку аргументов" - C++
#include &lt;iostream&gt; #include &lt;iterator&gt; #include &lt;map&gt; #include &lt;Windows.h&gt; #include &lt;functional&gt; #include &lt;string&gt; #include...

Передача аргументов в функции - C++
Ребят, никогда раньше не задумывался каким же образом передаются аргументы. Сейчас же дошел до передачи аргументов через указатель и...

Ошибка аргументов функции - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using std::cout; using std::cin; using...

Передача аргументов функции - C++
Как передать функции переменную неизвестного типа?

Передача аргументов функции - C++
В книге Стенли Липпмана C++ Primer дошел до программы, которая выполняет замену слов в одном файле, которые указаны в другом. Например, ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
John Prick
778 / 711 / 131
Регистрация: 27.07.2012
Сообщений: 2,043
Завершенные тесты: 3
20.03.2014, 10:28 #2
Ничего не понять. В чём проблема? В чём вопрос? Что такое "непосредственный запуск"?
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
20.03.2014, 14:07  [ТС] #3
John Prick, имеется ввиду что у меня своя функция есть и я в ней использую код другой функции
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
21.03.2014, 21:46  [ТС] #4
тема актуальна
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2014, 21:46
Привет! Вот еще темы с ответами:

Передача аргументов функции - C++
Всем привет. Писал код не зная, правильно ли это. В общем застрял на составлении прототипов функции и функции мэин. И ещё, можно ли так как...

Функции с переменным числом аргументов - C++
на пример sum(2,56,515,-23.65,548)?

Мало аргументов в вызове функции? - C++
Вот вообщем то код, не могу разобраться, почему ругается компилятор. Рассчитываю на конкретную помощь. #include &lt;iostream&gt; using...

Слишком мало аргументов в функции - C++
Привет Не могу понять каких &quot;аргументов&quot; не хватает? Выдает ошибку что в 23 строке - too few arguments to function 'double (double,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.03.2014, 21:46
Ответ Создать тему
Опции темы

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