4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|||||||||||
1 | |||||||||||
Перевод из С29.11.2012, 11:06. Показов 1598. Ответов 22
Метки нет Все метки)
(
Имеется код:
0
|
|
29.11.2012, 11:06 | |
Ответы с готовыми решениями:
22
If I'll + перевод |
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
29.11.2012, 11:18 | 2 |
А при чём здесь раздел плюсов? Оригинал на сях, перевод нужен на обджект паскаль. Ни тот, ни другой язык плюсами не является.
Добавлено через 29 секунд
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|
29.11.2012, 11:23 [ТС] | 4 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
29.11.2012, 11:24 | 5 |
А что здесь не понятного?
- правый сдвиг на 1 бит, то есть деление нацело пополам, - побитовая (не булевая) ксорка, данные по указателю ia, правый сдвиг на os, то есть деление на цело на 2 в степени os, побитовое (не булевое) and с единицей, то есть выделение младшего бита и обнуление остальных, то есть взятие остатка от деления на цело пополам. - умножение на k.
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|
29.11.2012, 11:26 [ТС] | 6 |
Это нормально код на C++.
При изменении переменной i от 0 до n переменные i и ia увеличиваются на 1.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
29.11.2012, 11:26 | 7 |
for на плюсах имеет три позиции, в первой и в последней можно написать произвольное количество операторов от ноля и больше. На чистых сях вроде тоже. Только разделять их надо запятыми.
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|
29.11.2012, 11:31 [ТС] | 9 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||||||||||||||||||||||||||||||||
29.11.2012, 11:36 | 10 | ||||||||||||||||||||||||||||||||||||||||
Судя по вике,
Добавлено через 4 минуты Уверен? Так как ia - указатель, то
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|
29.11.2012, 11:44 [ТС] | 11 |
Судя по вике у меня не правильно, пошел переделывать. Спасибо. Переделаю, проверю отпишусь.
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
||||||
08.08.2013, 16:16 [ТС] | 12 | |||||
Возвращаюсь к этой старой задаче
И так правлю:
Только такая конструкция даже не компилируется. Ошибка на ia^. ia[i] - компилируется но считает не верно. ia array of byte;
0
|
погромист
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
|
|
08.08.2013, 16:22 | 13 |
Не по теме: Напоминает мне это про старый боян; ТС вопрос: как прошить KDE2 под FreeBSD? - Ответ через 5 лет - Все спасибо, сам разобрался :rofl:
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|
08.08.2013, 16:28 [ТС] | 14 |
Да весело, но для переделки времени было 0. Вот вернулся к этой теме, но опять не получается.
0
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||||||
08.08.2013, 21:01 | 15 | |||||
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|||||||||||||||||||||
09.08.2013, 09:55 [ТС] | 16 | ||||||||||||||||||||
Что-то я явно делаю не так!
Для полной картины Устанавливаю размер массива ia. ia - array of byte
Далее я так понимаю что n это длина самого массива. for i:=0 to length(ia)-1 do for os:=0 to 7 do s:=((s shr 1) xor ((s xor ia[i]) shr os))*$a001; Я понимаю что я делаю что-то не правильно, вот что? Мне кажется что я неправильно указываю на массив ia[i] но вот как будет правильнее?
0
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|||||||||||||||||||||
09.08.2013, 10:06 | 17 | ||||||||||||||||||||
Чо-то я вообще не понимаю, что это за код, но вот на что тебе нужно обратить внимание. на сколько мне известно, во всяких там паскалях, массивы индексируются с 1 а не с 0. То бишь, если в си у тебя так:
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
|
09.08.2013, 10:17 [ТС] | 18 |
А почему не от нуля до 7 к примеру?
Добавлено через 1 минуту Это и так понятно! т.к i<3, а значит трем равно быть не может.
0
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||||||||||||||||
09.08.2013, 11:52 | 19 | |||||||||||||||
В паскале первый элемент массива massiv[1], в си - massiv[0]. Паскаль такой паскаль.
Ну так учитывай это в своём коде
Вот твой исходный код:
Добавлено через 11 минут С циклом os аналогично в сишном он тикает от 0 до 7 (8 итераций) в паскале от 0 то 8 (9 итераций). Если i и os играют роли индексов в массивах то в коде на паскале циклы нужно начинать с 1:
0
|
4 / 4 / 0
Регистрация: 29.11.2012
Сообщений: 68
|
||||||
09.08.2013, 13:28 [ТС] | 20 | |||||
Это я всё понял я уже попробовал и так и эдак бесполезно. У меня не правильно организован видимо подсчет сам.
0
|
09.08.2013, 13:28 | |
09.08.2013, 13:28 | |
Помогаю со студенческими работами здесь
20
Перевод с С++ на С перевод Перевод на c#
Перевод Перевод в 16 из 10 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |