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

Разложение числа на слагаемые - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Расчет краски на лабиринт http://www.cyberforum.ru/cpp-beginners/thread342764.html
Условие задачи тут #include <iostream> using namespace std; void paint(int i, int j) { if (a=='.') { a='$'; paint(i+1,j); paint(i-1,j); paint(i,j+1);
C++ Создание нескольких стеков //--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #include <stdlib.h> #include <iostream.h> #include <dos.h> //--------------------------------------------------------------------------- namespace Stack http://www.cyberforum.ru/cpp-beginners/thread342698.html
C++ Сохранение матриц больших размеров в типизированный файл
Проблема: есть большой двумерный массив (double). Пытаюсь сохранить его в типизированный файл (а затем считать в другой массив). В файл сохраняется только некоторая часть (до 58 элемента, в частном случае), на оставшиеся места записываются максимальное и минимальное значения double (+-6.2 * 10^66). Причем иногда прерывается посередине строки. Как будто память под строку выделилась не в одном...
два ++ C++
Что означает "++" что ето за операция в С++Builder очень надо узнать Напишите кто нибудь.
C++ Тетрис и многопоточность http://www.cyberforum.ru/cpp-beginners/thread342646.html
Здравствуйте. Взялся я за тетрис, немного написал, а потом понял, что мне нужны два потока. Вот зачем: у меня игровое поле — двумерный массив . Фигура представленна массивом . В то время, как один поток будет опускать фигуры вниз, второй поток должен крутить эту же фигуру независимо от шажков спуска. Как это реализовать? Я честно гуглил, но конкретных примеров многопоточности в C++ не...
C++ Подскажите, как должно выглядеть это задание? Разработайте приложение rle.exe, выполняющее RLE-компрессию бинарных файлов с сильно разреженным содержимым, а также декомпрессию упакованных ею файлов. Необходимо реализовать следующий принцип компрессии файла: При обнаружении последовательности одинаковых байтов, она кодируется при помощи двух байтов. Первый байт хранит количество повторов следующего за ним байтов. Например, последовательность... подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
18.08.2011, 11:53     Разложение числа на слагаемые
Цитата Сообщение от diagon Посмотреть сообщение
Это как вообще?
А разница банально в оптимизации..
Только результат действительно нереалистичный какой-то, даже если компилировать с ключами на максимальную оптимизацию.
Цитата Сообщение от Olga_ Посмотреть сообщение
Присоединяюсь
Да никаких ключей не было, даже на целевой процессор. Просто вам с Ольгой нужно просчитать 6 метров вывода, а ему - 50 килобайт

Добавлено через 8 минут

Не по теме:

У всех было 502 bad gateway..?



Вот код Юры, который я компилировал. Сами смотрите:

C
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
 
void split_int(int num);
 
FILE * fd;
 
int main()
{
    fd = fopen( "Yura.txt", "w" );
 
        int N;
 
        do
        {
                printf("Enter int number: ");
                scanf("%d",&N);
 
                clock_t time = clock();
 
                split_int(N);
 
                printf( "split time %ld msec", clock() - time );
                printf("[Y/N] Y - Enter new number\r\n");
 
                fseek( stdout, 0, SEEK_END );
        }
        while(toupper(getch()) == 'Y');
        //split_int
 
    fclose( fd );
}
 
void split_int(int num)
{
        char stub[] = " + ";
        int i1,i2,i3,i4,i5,i6,i7,i8,i9,MAX = 10;
        for(i1 = 0; i1 < MAX; i1++)
        for(i2 = i1; i2 < MAX; i2++)
        for(i3 = i2; i3 < MAX; i3++)
        for(i4 = i3; i4 < MAX; i4++)
        for(i5 = i4; i5 < MAX; i5++)
        for(i6 = i5; i6 < MAX; i6++)
        for(i7 = i6; i7 < MAX; i7++)
        for(i8 = i7; i8 < MAX; i8++)
        for(i9 = i8; i9 < MAX; i9++)
        {
                if(i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 == num)
                {
                        if(i1 != 0)
                                fprintf( fd, "%d",i1);
                        if(i2 != 0)
                        {
                                if(i1 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i2);
                        }
                        if(i3 != 0)
                        {
                                if(i2 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i3);
                        }
                        if(i4 != 0)
                        {
                                if(i3 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i4);
                        }
                        if(i5 != 0)
                        {
                                if(i4 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i5);
                        }
                        if(i6 != 0)
                        {
                                if(i5 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i6);
                        }
                        if(i7 != 0)
                        {
                                if(i6 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i7);
                        }
                        if(i8 != 0)
                        {
                                if(i7 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i8);
                        }
                        if(i9 != 0)
                        {
                                if(i8 != 0)
                                        fprintf( fd, "%s",stub);
                                fprintf( fd, "%d",i9);
                        }
                        fprintf( fd, " == %d\r\n",num);
                }
 
        }
        fprintf( fd, "\r\n");
}
 
Текущее время: 04:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru