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

МНОЖИТЕЛИ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с файлом http://www.cyberforum.ru/cpp-beginners/thread193325.html
Мне требуется подключить текстовый файл ко всей программе. Прежде поключал файл только к конкретной процедуре. Благодарю за помощь.
C++ Обработка массивов с использованием указателей. Передача одномерных массивов в функции. Шаблоны функций ПОМОГИТЕ!!!!!!! КАК ЭТО РЕШАТЬ??? Ввести и обработать два одномерных массива, содержащие соответственно n целых и m вещественных компонентов. Вычислить: 1) количество элементов массива, меньших С; 2) сумму целых частей элементов массива, расположенных после последнего отрицательного элемента. 3) Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от... http://www.cyberforum.ru/cpp-beginners/thread193315.html
списки C++
драсти всем.мне надо создать список массивов.а как это дело объявить не знаю.помогите аа)))
C++ Лэйс на с++
#include <iostream> using namespace std; int main () { int lays=0; char mas; cin>>mas; for (int i=0; i<=strlen(mas);i++) if ('(') lays++;
C++ Отцентровать слово http://www.cyberforum.ru/cpp-beginners/thread193289.html
Нужно ввести слово и отцентровать его, то есть сделать так, чтобы оно было посередине экрана. Помоги чем-нибудь, пожалуйста....
C++ Определить количество членов последовательности а1, ..., an, имеющих нечетные порядковые номера Определить количество членов последовательности а1, ..., an, имеющих нечетные порядковые номера, при этом будучи кратными 3 и не кратными 5; подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2010, 12:39     МНОЖИТЕЛИ
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include "math.h"
#include "stdio.h"
#include <iostream>
using namespace std;
int mas_p[15], i_mas_p=0, mas[50][15], mas_temp[15], mas_temp_res[15];
bool pr(int a)
{
    if(a==2)
        return true;
    if(a%2==0)
        return false;
    for(int i=3; i<=(int)sqrt((double)a); i+=2)
        if(a%i==0)
            return false;
    return true;
}
 
void ras(int a)
{
    int i, j, y, fl=0;
    for(i=0; i<15; i++)
        if(mas_temp[i]%2==1)
            fl=1;
    if(fl==0) a++;
    fl=0;
    for(i=0; i<15; i++)
        mas_temp_res[i]=0;
    mas_temp_res[0]=1;
    for(i=0; i<15; i++)
    {
        for(j=0; j<mas_temp[i]; j++)
        {
            for(y=0; y<15; y++)
                mas_temp_res[y]*=mas_p[i];
            for(y=0; y<14; y++)
                if(mas_temp_res[y]>999)
                {
                    mas_temp_res[y+1]+=mas_temp_res[y]/1000;
                    mas_temp_res[y]%=1000;
                }
        }
    }
    for(i=14; fl==0 && i>=0; i--)
    {
        if(mas_temp_res[i]<mas[a-1][i])
            fl=1;
        if(mas_temp_res[i]>mas[a-1][i])
            fl=2;
    }
    if(fl==1)
    {
        for(i=0; i<15; i++)
            mas[a-1][i]=mas_temp_res[i];
    }
}       
 
 
void gen(int max, int tv, int i_p, int kv, bool fl)
{
    if(!fl)
    {
        mas_temp[1]++;
        gen(max, 2*tv+1, 1, tv, true);
        mas_temp[1]--;
    }
    else
    {
        if((tv+1)/2<=50)
            ras((tv+1)/2);
        if(tv+1<=50)
        {
            mas_temp[i_p+1]++;
            gen(max, 2*tv+1, i_p+1, tv, true);
            mas_temp[i_p+1]--;
        }
        if(mas_temp[i_p]<max && (tv+kv+1)/2<=50)
        {
            mas_temp[i_p]++;
            gen(max, tv+kv+1, i_p, kv, true);
            mas_temp[i_p]--;
        }
        else
            return;
    }
}
 
int main()
{
    int i, j;
    for(i=2; i<50; i++)
        if(pr(i))
            mas_p[i_mas_p++]=i;
    mas[0][0]=1;
    for(i=1; i<50; i++)
    {
        for(j=0; j<15; j++)
            mas[i][j]=mas[i-1][j]*4;
        for(int j=0; j<14; j++)
        if(mas[i][j]>999)
        {
            mas[i][j+1]+=mas[i][j]/1000;
            mas[i][j]%=1000;
        }
    }
    // 
    mas_temp[0]=0;
    for(i=1; i<98; i++)
    {
        mas_temp[0]++;
        gen(i, i, 0, i, false);
    }
    //
    for(i=0; i<50; i++)
    {
        bool fl=true;
        printf("K= %d  ", i+1);
        for(j=14; j>=0; j--)
        {
            if(!fl)
                printf("%03d", mas[i][j]);
            if(fl && mas[i][j]!=0)
            {
                fl=false;
                printf("%d", mas[i][j]);
            }
        }
        printf("\n");
    }
   return 0;
}
Mayonez, Проверил заодно и вашу программу. Считает она оказывается для К=46, только немного долго, но быстрее чем для К=43. Остальные значения: К =37, 47, 31 сами поймете почему не считала.
 
Текущее время: 02:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru