0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 46
1

Передача значений переменных из неосновных функций друг в друга

15.03.2020, 17:18. Показов 2508. Ответов 5

Здравствуйте, есть 2 небольшие функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void RC6_ENCRYPT(unsigned  int* pt, unsigned  int* ct) {
    unsigned int i = 0, T = 0, U = 0, A = 0, C = 0, temp = 0;
    unsigned int B = pt[0] + S[0], D = pt[1] + S[1];
 
    for (i = 1; i <= r; ++i) {
         T = ROTL(B * (2 * B + 1), (unsigned int)log2(w));
         U = ROTL(D * (2 * D + 1), (unsigned int)log2(w));
         A = ROTL(A ^ T, U) + S[2 * i];
         C = ROTL(C ^ U, T) + S[2 * i + 1];
         temp = A;
         A = B;
         B = C;
         C = D;
         D = temp;
    }
    ct[0] = A + S[2 * i + 2];
    ct[1] = C + S[2 * i + 3];
}
и
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void RC6_DECRYPT(unsigned  int* ct, unsigned  int* pt) {
    unsigned int i = 0, U, T, D, B, temp;
    unsigned int C = ct[1] - S[2 * i + 3], A = ct[0] - S[2 * i + 2];
 
    for (i = r; i > 0; --i) {
        temp = D;
        D = C;
        C = B;
        B = A;
        A = temp;
        U = ROTL(D * (2 * D + 1), (unsigned int)log2(w));
        T = ROTL(B * (2 * B + 1), (unsigned int)log2(w));
        C = (ROTR(C - S[2 * i + 1], T) ^ U);
        A = (ROTR(A - S[2 * i], U) ^ T);
    }
    pt[1] = D - S[1];
    pt[0] = B - S[0];
}
В первой ф-ии происходит заполнение переменных данными. Т.к. во второй ф-ии используются те же переменные, мне нужно из первой функции взять значения переменных: U,T,D,B и temp.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2020, 17:18
Ответы с готовыми решениями:

Возвращение значений функций, зависящих друг от друга по цепочке
Добрый вечер. Возник вопрос при использовании в расчетах нескольких функций, зависящих друг от...

Зависимость функций друг от друга
Здравствуйте, уважаемые форумчане! Мне необходимо построить график функции, которая задана...

Как в PHP отделить элементы друг от друга, чтобы не ругались друг на друга?
&lt;?php $chitat = fopen('yoo.txt', 'r'); if (!$chitat) { echo 'Ошибка при открытии файла...

Удалить зависимость функций друг от друга
есть 2 функции(ввод и вывод массива).почему если разлучить эти 2 функции то функция show без...

5
11 / 33 / 15
Регистрация: 29.04.2014
Сообщений: 223
15.03.2020, 17:28 2
Лучший ответ Сообщение было отмечено Genile как решение

Решение

Ну либо в первую функцию передавать указатели или ссылки на переменные U,T,D,B и temp, и теже переменные передавать во вторую функцию.
Либо сделать возвращаемым значением структуру с этими переменными.

Еще можно сделать массив типа unsigned int[5] и передавать его адрес первого элемента в первую и вторую функцию, в качестве индексов можно ввести директивы:
#define U 1
#define T 2
#define D 3
...
0
5233 / 2887 / 1208
Регистрация: 07.02.2019
Сообщений: 7,285
15.03.2020, 17:29 3
Цитата Сообщение от Genile Посмотреть сообщение
мне нужно из первой функции взять значения переменных: U,T,D,B и temp.
оберни в структуру и передай
0
0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 46
15.03.2020, 17:33  [ТС] 4
zayats80888, а структура может содержать функции?
0
11 / 33 / 15
Регистрация: 29.04.2014
Сообщений: 223
15.03.2020, 17:37 5
Еще можно сделать массив типа unsigned int[5] и передавать его адрес первого элемента в первую и вторую функцию, в качестве индексов можно ввести директивы:
#define U 1
#define T 2
#define D 3
...
А доступ осуществлять вот так:

Массив[U]
Массив[T]
Массив[D]
...

Ну или так:

Массив + U,
Массив + T.
0
5233 / 2887 / 1208
Регистрация: 07.02.2019
Сообщений: 7,285
15.03.2020, 17:41 6
Цитата Сообщение от Genile Посмотреть сообщение
а структура может содержать функции?
может иметь методы и/или хранить указатели на функции
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2020, 17:41
Помогаю со студенческими работами здесь

Выполнение двух функций независимо друг от друга
Пытаюсь написать игрушку, но возникают проблемы со временем. Мне нужно чтобы переменной, независимо...

Проблема с получением типов переменных двух классов друг у друга
Вообщем столкнулся с такой ситуацией: Есть 2 класса, которые имеют в своём теле определение...

Изменение значений свойств, зависимых друг от друга
Всем привет! В приложении есть несколько параметров: A, B, C, Result (дополнительное известное)....

Вставка значений без накладывания друг на друга
Добрый День! Ребята помогите решить задачу! Существует Excel книга в ней 3-и листа. Вопрос таков...


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

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

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