Форум программистов, компьютерный форум 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
791 / 543 / 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");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru