Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2022, 00:38   #1
SiNedezz
Новичок
Джуниор
 
Регистрация: 04.06.2022
Сообщений: 3
По умолчанию Задача по Функциям

Помогите написать код . Реализовать функцию разложения трехзначного положительного числа на составляющие его цифры. В качестве параметров передается само число. Функция возвращает сотни, десятки и единицы числа, а также код ошибки. Если число было трехзначным, то – ноль. Если нет – то – единицу. Используя разработанную функцию разложить N чисел, введенных пользователем.
SiNedezz вне форума Ответить с цитированием
Старый 04.06.2022, 02:58   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
int split(int num, char *hundred, char *decimal, char *digit) {
    __asm {
        mov eax, num
        mov ecx, 100
        test eax, eax
        jns positive_value
        neg eax
    positive_value:
        cdq
        div ecx
        jz error
        xchg eax, edx
        mov cl, 10
        cmp edx, ecx
        jge error
        div cl
        mov ecx, hundred
        mov [ecx], dl
        mov ecx, decimal
        mov edx, digit
        mov [ecx], al
        mov [edx], ah
    }
    return 0;
    __asm { error: }
    return 1;
}

Последний раз редактировалось macomics; 04.06.2022 в 12:55.
macomics вне форума Ответить с цитированием
Старый 04.06.2022, 11:34   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

macomics Тонкий троллинг, зачёт !
Чел на Си двух слов связать не может, а тут - АСМ!
digitalis вне форума Ответить с цитированием
Старый 04.06.2022, 12:27   #4
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

задачка на деление и остатки

зато быстрее и короче решается на любом языке
превратив числа в строки

и далее разложив на символы и превратив в цифры
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 04.06.2022, 12:34   #5
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от сфинкс Посмотреть сообщение
задачка на деление и остатки

зато быстрее и короче решается на любом языке
превратив числа в строки

и далее разложив на символы и превратив в цифры
А я что сделал. Или перевод числа в строку это уже магия. Только на каком еще языке вы сможете обойтись лишь 2-я операциями деления. Любой компилятор располовинит результат операции div и сделает 4 операции вместо двух! А при переводе числа в строку полностью делений вообще понадобится до 10 операций. Зачем? Потом еще возня с ведущими 0 значениями.

Последний раз редактировалось macomics; 04.06.2022 в 12:54.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по функциям Player150 Общие вопросы C/C++ 0 17.08.2017 19:04
Задача по функциям и циклам в C++ DVkv Помощь студентам 3 17.11.2014 15:32
Задача по функциям Ruqeyye Помощь студентам 2 24.05.2014 09:42
Разбивка по функциям coNsept Общие вопросы C/C++ 4 15.04.2010 12:26
Литература по API-функциям SeregaIRK Компоненты Delphi 2 19.09.2008 08:27