как их можно по-быстрому считать?
1, 1, 1, 2, 2, 3
сколько повторяющихся элементов -- два (1 и 2) или 5 (три единицы и две двойки)?int reps = 0;
int i, j;
for (i = m1; i <= m2; ++i) {
for (j = m1; j <= m2; ++j) {
if (i != j && arr[i] == arr[j]) {
if (i < j)
++reps;
break;
}
}
}
Аргументы printf в виде слов кидаются на стек по порядку
И да, это undefined behaviour, кто ж спорит.
В этом примере я пытаюсь переместить из rsi в rdx три числа, а потом вывести из нулевого индекса rdx в терминал число. В данном случае должно быть 1, но почему-то 0.
movzbq (%rdi), %rax
, только rdi уже указывает на байт после последнего скопированного байта. movzbq -3(%rdi), %rax
тебе поможет. Что тут ещё можно посоветовать.
нет такого вызова.
movq $231, %rax
movq $1, %rdi
Как запустить?
strace -if -o log <команда для запуска твоего приложения>
strace ls
armadillo-cld, посмотреть на их типы, расширить типы уже 4 байт до 4, всё сложить.