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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
#1

Как правильно засунуть две строчки в код программы?( - C++

30.11.2012, 07:21. Просмотров 323. Ответов 1
Метки нет (Все метки)

Вставить надо это:

C++
1
2
3
4
5
6
7
8
9
10
int ok;
do
{
    /*********************************
    *** Часть программы,
    *** которую нужно повторять
    *********************************/
    cout << " Prodolzhitj (1) ili zakonchitj (0)?" << endl;
    cin >> ok;
} while (ok == 1);

В код:

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
#include <iostream>
#include <stdint.h>
 
const uint16_t squares[] = {
    // Гўtra veselo sakГІu vilkГ°ana
    // masГ®vs ar iepriekГ° sagatavotiem veselo skaitГЇu kvadrГўtiem
    // lai izvilktu sakni no x, ir jГўmeklГ§ Г°o skaitli x masГ®va ar modificГ§tu binГўro meklçðanu
    // Elementa numurs bГ»s sakne no x.
    0, 1, 4, 9,
    16, 25, 36, 49,
    64, 81, 100, 121,
    144, 169, 196, 225,
    256, 289, 324, 361,
    400, 441, 484, 529,
    576, 625, 676, 729,
    784, 841, 900, 961,
    1024, 1089, 1156, 1225,
    1296, 1369, 1444, 1521,
    1600, 1681, 1764, 1849,
    1936, 2025, 2116, 2209,
    2304, 2401, 2500, 2601,
    2704, 2809, 2916, 3025,
    3136, 3249, 3364, 3481,
    3600, 3721, 3844, 3969,
    4096, 4225, 4356, 4489,
    4624, 4761, 4900, 5041,
    5184, 5329, 5476, 5625,
    5776, 5929, 6084, 6241,
    6400, 6561, 6724, 6889,
    7056, 7225, 7396, 7569,
    7744, 7921, 8100, 8281,
    8464, 8649, 8836, 9025,
    9216, 9409, 9604, 9801,
    10000, 10201, 10404, 10609,
    10816, 11025, 11236, 11449,
    11664, 11881, 12100, 12321,
    12544, 12769, 12996, 13225,
    13456, 13689, 13924, 14161,
    14400, 14641, 14884, 15129,
    15376, 15625, 15876, 16129,
    16384, 16641, 16900, 17161,
    17424, 17689, 17956, 18225,
    18496, 18769, 19044, 19321,
    19600, 19881, 20164, 20449,
    20736, 21025, 21316, 21609,
    21904, 22201, 22500, 22801,
    23104, 23409, 23716, 24025,
    24336, 24649, 24964, 25281,
    25600, 25921, 26244, 26569,
    26896, 27225, 27556, 27889,
    28224, 28561, 28900, 29241,
    29584, 29929, 30276, 30625,
    30976, 31329, 31684, 32041,
    32400, 32761, 33124, 33489,
    33856, 34225, 34596, 34969,
    35344, 35721, 36100, 36481,
    36864, 37249, 37636, 38025,
    38416, 38809, 39204, 39601,
    40000, 40401, 40804, 41209,
    41616, 42025, 42436, 42849,
    43264, 43681, 44100, 44521,
    44944, 45369, 45796, 46225,
    46656, 47089, 47524, 47961,
    48400, 48841, 49284, 49729,
    50176, 50625, 51076, 51529,
    51984, 52441, 52900, 53361,
    53824, 54289, 54756, 55225,
    55696, 56169, 56644, 57121,
    57600, 58081, 58564, 59049,
    59536, 60025, 60516, 61009,
    61504, 62001, 62500, 63001,
    63504, 64009, 64516, 65025
};
inline int isqrt(uint16_t x) {
    const uint16_t *p = squares;
 
    if (p[128] <= x) p += 128;
    if (p[ 64] <= x) p +=  64;
    if (p[ 32] <= x) p +=  32;
    if (p[ 16] <= x) p +=  16;
    if (p[  8] <= x) p +=   8;
    if (p[  4] <= x) p +=   4;
    if (p[  2] <= x) p +=   2;
    if (p[  1] <= x) p +=   1;
 
    return p - squares;
}
 
bool is_sum_of_squares(int arg){ // pârbaude, vai tieðâm arg (piem.arg=25) ir kvadrâtu summa
     int sqrta=isqrt(arg); // sqrta = sakne no 25 = 5
                        // tad 5*5 ir maksimГўlais saskaitГўmais, no kura var vilkt veselo sakni
     int sqrtb; // sqrtb - vesela sakГІa daГЇa no otra saskaitama
     for (int i=1; i<=sqrta; i++){ // pГўrbaude visiem skaitliem no 1 lГ®dz 5 uz to, ka tie ir sakne no
                                    // pirma saskaitama >> tos kvadrГўts ir ir pirmais saskaitamais summГў 1 4 9 16 25
         sqrtb=isqrt(arg-i*i); // i*i ir pirmais saskaitamais, tad 25- i*i ir otrais saskaitamais, tГў kГў pГ§c nosacГ®juma, tos summa ir 25
                                //  sqrtb ir vesela sakГІu daГЇa no otra saskaitama (sakne no 25 - i*i)
         if (sqrtb*sqrtb==arg-i*i) // ja sakne (no veselas daГЇas) skaitГЇa saknes - ar vienГўds ar paГ°u skaitli,
                            // tatad no skaitГЇa var vilkt sakni
         return true; // tatad pateicam ka ja, skaitlis ir kvadratu summa
                        //sqrtb*sqrtb+i*i=arg     (piemГ§ram 4*4+3*3=25)
        }
        return false; //ja visu pДЃrbaudД«jДЃm, tomД“r nav atrasts - teicam nД“
}
int main()
{
    int m, n;
    std::cout<<"Input m n: ";
    std::cin>>m>>n;
    if (m>n) std::swap(m,n); // funkcija swap - maina mainiigus vietaas
    for (int i=m; i<=n; i++ )
     if (is_sum_of_squares(i)) std::cout<<i<<", ";
    system("pause");
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 07:21     Как правильно засунуть две строчки в код программы?(
Посмотрите здесь:
C++ В две строчки записать две цифры, а потом по закрытии программы и повторном открытии прочитать каждое число в отдельную переменную?
Как правильно прописать данный код программы? C++
C++ Как связаны эти две строчки?
Как переставить две строчки матрицы не используя цикла? C++
C++ Как сравниеть две строчки std string не учитывая геристр букв?
C++ Компилятор пропускает две строчки
Подправить две строчки в задаче C++
Объясните две строчки кода C++
Нужно засунуть код инструкции в 4 char'a так, чтобы в памяти это был код инструкции. C++
Нужно записать две строчки через указатель, не используя адрес C++
C++ Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы
Объяснить строчки программы C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13047 / 7310 / 814
Регистрация: 27.09.2012
Сообщений: 18,043
Записей в блоге: 3
Завершенные тесты: 1
30.11.2012, 07:28     Как правильно засунуть две строчки в код программы?( #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
    int m, n;
     int ok;
    do
    {
    std::cout<<"Input m n: ";
    std::cin>>m>>n;
    if (m>n) std::swap(m,n); // funkcija swap - maina mainiigus vietaas
    for (int i=m; i<=n; i++ )
     if (is_sum_of_squares(i)) std::cout<<i<<", ";
    std::cout << "\nProdolzhitj (1) ili zakonchitj (0)?" << std::endl;
    std::cin >> ok;
    } while (ok == 1);
    system("pause"); 
    return 0;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru