"11 22 22 33 33 33"
Должно вывестись:
"11 occurs 1 times
22 occurs 2 times
33 occurs 3 times"
но "33 occurs 3 times" не выводится в консоль. В чем может быть причина?
if (val == currVal) ++cnt; else { std::cout << currVal << " occurs " << cnt << " times " << std::endl;
if (val == currVal) ++cnt;. При краше приложения вызывается ли функция выгрузки у библиотек?
не могу понять как это записать, потому что у меня при двух условиях приходится добавлять к элементу массива две единицы, если введено число
надо сравнить если символ не входит в диапазон 31h-39h, то надо идти дальше по элементу массива
metka:
mov ax,0
mov al, StringT[si]
sub al, 49
jl next # перейти к следующей цифре, если код текущей меньше '1'
cmp al, 9
jnl next # перейти к следующей цифре, если текущая больше 9
mov bl, al
shl bl, 1 ;умножение на 2, т.к. размер адреса - 2 байта
xor ax, ax
mov dx, offset List[bx]
mov ah, 09h
int 21h
next:
add si, 1
loop metka Почему вылезает сообщение «make: «build» не требует обновления»?
build: $(SOURCES)
mv *.o ./build и rm -rf build/* делают его новее исходников, поэтому make считает, что обновлять его не надо. du -sh ~ --exclude=$(eval echo $HOME/{$excludes})rm -rf /* как побочный эффект. Почему пятый вариант не выполняется в 4 раза быстрее, чем первый?
проблема в том, что вместо массива символов программа выводит просто пустую строку.
i = strlen(str) помещает в i индекс 0-терминатора строки str, а не последнего символа перед ним. И в конце строки tmp сейчас нет 0-терминатора, так что puts(tmp) выведет мусор после перевёрнутой строки, если поправить инициализацию i. Первая функция работает, а при вызове второй функции - "срабатывание точки останова" при присвоении переменной fp указателя на поток - при вызове функции fopen(). Помогите разобраться с проблемой не понимаю, где ошибка.
gets читают строчки неограниченной длины в какие-то поля твоей структуры. Определения структуры ты не привёл, но мой магический шар говорит, что gets вполне может вылезти за пределы полей в которые он читает и поломать кучу. Можно попробовать заменить gets(x) на fgets(x, sizeof(x), stdin). for i in ${hr[@]}; do echo ${hr[i]} done
Bash думает, что если число начинается с 0, то оно в восьмеричной системе счисления и числа 8 в ней нет. Что делать?
echo ${hr[i]} как индексы. А если выбрал индексы, то следовать правилам написания чисел.#!/bin/bash
hr=(00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23)
for i in ${hr[@]}; do
echo $i
done MaxSymb Db 9
RealSymb Db ?
StringT db 1 dup (' ')
StringT db 9 dup (' '), иначе ввод затрёт то что там дальше в памяти лежит.я пытался и делать так mov cx, InBuff[0] , mov cx, InBuff[1] без разницы.
mov cl, [RealSymb]len equ $ - StringT - не выходит, тоже 1 выдаёт
Client arr_all[numeric_limits<int>::max()];main.cpp:(.text+0x527): перемещение обрезано по месту: R_X86_64_32 у неопределённого символа «.bss»
main.cpp:(.text+0x536): перемещение обрезано по месту: R_X86_64_32 у неопределённого символа «.bss»
-mcmodel=large, но там будут дальнейшие проблемы во время выполнения и это точно не нужно.она не показывает день и время когда была введена команда
export HISTTIMEFORMAT='%F %T ' в ~/.bashrcКак в nasm можно выполнить смещение?
[string + cx]
invalid effective address