Форум программистов, компьютерный форум CyberForum.ru

Как вывести числа от 1 до 1000 без сравнений в Си++? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Есть ли у кого программа?... http://www.cyberforum.ru/cpp/thread250713.html
Очень нужна помощь!!! Мне нужна создать програму в C++ для курсовой - Вывести все данные о ПК!!! Может у кого есть... напишыте пожалуйста... я в прогромировании полный ноль!!!
C++ Плагины для торрент-клиентов Всем привет! У меня большая просьба ко всем кто писал плагины для торрент-клиентов - поделитесь пожалуйста опытом! Мне бы понять с чего начать и где искать. Буду благодарен за любую информацию. http://www.cyberforum.ru/cpp/thread250501.html
Нужны ли языки помимо с++ C++
Доброго Времени Суток! Видел в некоторых фирмах сейчас переучивают на язык с#. Да и заставляет задуматься отрицательный прирост языка с++ в рейтинге TIOBE. У самого навыки с++, делфи. Как думаете, каким языком стоит заняться? Или гораздо эффективнее будет это же время занять на улучшение навыков по имеющимся языкам?
C++ 2010->2008???
Есть ли возможность сконвертировать проект из VS2010 в VS2008??? Или как то изменить настройки VS2010 на VS2008??? Нашол похож тему, но все же есть ли ищо какие то варианты?
C++ Машина Тьюринга унарное сложение http://www.cyberforum.ru/cpp/thread249602.html
Нужно написать на С++ программу реализующую машину Тьюринга выполняющую унарное сложение Добавлено через 1 час 9 минут Подскажите с чего начать? Добавлено через 1 минуту здесь пример http://ric.uni-altai.ru/fundamental/teor-alg/upr8/prim8.htm Как лучше на С++ реализовать?
C++ Где можно скачать Watcon 10.6 Интересуют ссылки, по которым можно скачать среду разработки Watcom 10.6, задача осложняется тем, что данная среда была выпущена в 1996 году. Сам уже излазил очень многие места интернета, хотя, явно, далеко не все. Любая помощь приветствуется! icq: 413-471-449 skype: xopbatgh подробнее

Показать сообщение отдельно
nxnx
Формучанин
361 / 292 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
16.03.2011, 01:57     Как вывести числа от 1 до 1000 без сравнений в Си++?
Цитата Сообщение от Евгений М. Посмотреть сообщение
Вот и второе решение.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
 
void donothing() {}
 
void dosomething() {exit(0);}
 
int main()
{
    int i;
 
    void (*pf[2])() = {donothing, dosomething};
    
    for (i=1;; i++)
    {
        printf("%d\n", i);
        pf[i/1000]();
    }
}
вот этот код подойдёт. дизазм:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
!        void (*pf[2])() = {donothing, dosomething};
main()
main+14: movl   $0x4013c0,0x14(%esp)
main+22: movl   $0x4013c5,0x18(%esp)
!
!        for (i=1;; i++)
main+30: movl   $0x1,0x1c(%esp)
main+89: incl   0x1c(%esp)
!        {
!                printf("%d\n", i);
main+38: mov    0x1c(%esp),%eax
main+42: mov    %eax,0x4(%esp)
main+46: movl   $0x40306c,(%esp)
main+53: call   0x401cd8 <printf>
!                pf[i/1000]();
main+58: mov    0x1c(%esp),%ecx
main+62: mov    $0x10624dd3,%eax
main+67: imul   %ecx
main+69: sar    $0x6,%edx
main+72: mov    %ecx,%eax
main+74: sar    $0x1f,%eax
main+77: mov    %edx,%ecx
main+79: sub    %eax,%ecx
main+81: mov    %ecx,%eax
main+83: mov    0x14(%esp,%eax,4),%eax
main+87: call   *%eax
!        }
main+93: jmp    0x4013fd <main+38>
нету ни cmp ни test ни loop ни j** (не считая jmp)
 
Текущее время: 05:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru