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

Некорректная работа цикла for. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ обработка символьной информации в С++ http://www.cyberforum.ru/cpp-beginners/thread292468.html
Ввести текст. Слова разделены пробелами, предложения заканчиваются точкой. Длина текста может быть выбрана любой (если текст читается из внешнего файла, то можно ориентироваться на конец файла, если текст вводится с клавиатуры, можно определить фиксированную длину.) Выполнить обработку текста, стараясь использовать стандартные функции обработки символьной информации Определить количество...
C++ Как в функцию вставить переменную которая будет запрашиваться от пользователя mciSendString("open cdaudio!" + переменная + ": alias driveX, NULL, 0, 0 Как в функцию вставить переменную которая будет запрашиваться от пользователя mciSendString("open cdaudio!" + переменная + ": alias driveX, NULL, 0, 0"); Переменная символьная http://www.cyberforum.ru/cpp-beginners/thread292464.html
Плей лист в Delphi C++
Народ всем привет) у меня проблема! мне задали писать мр3 плеер с bass.dll я всё сделал только немогу создать плей лист ( и главное чтобы можно было открывать много музыкальный файлов ) народ помогите завтра здавать! даже прикреплю плеер сделайте если сможите или код дайте спс !!!!! толко народ ответье плиззняк ! благодарен буду ! =))
C++ В тексте перед каждым предложением, в котором встречается заданное слово, поставить восклицательный знак
Кто-нибудь знает решение этой задачки? В тексте перед каждым предложением, в котором встречается заданное слово, поставить восклицательный знак "!" Заранее благодарна))
C++ Переопределить знаки http://www.cyberforum.ru/cpp-beginners/thread292441.html
Задание на C++. Дан класс любой, в нем нужно переопределить операторы `>` и `+=` . Можете показать как делать на примере? И что подуразомевают под "переопределением" ?
C++ Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса? //Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все конструкторы и прочее //опущены для уменьшения кода #include <iostream> #include <windows.h> using namespace std; //Вот первый класс и в нём объявлена функция Get_kol_vo_kvartalovl class gorod{ подробнее

Показать сообщение отдельно
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
10.05.2011, 18:02     Некорректная работа цикла for.
Попробуй так=)
Можешь значения побольше вводить, 1000 например
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
#include <iostream>
#include <sstream>
#include <vector>
#include <algorithm>
void readlong(std::vector<int> &a); //чтение
void writelong(std::vector<int> a){  //вывод
        for (size_t i=0; i< a.size();i++) std::cout << a[i];}
short compare(std::vector<int> a,std::vector<int> b); //сравнение
void nol(std::vector<int> &a,std::vector<int> &b); //добавление нулей в начало(для суммы)
std::vector<int> sum(std::vector<int> a, std::vector <int> b); //сумма
std::vector<int> smult(std::vector<int> a,int b); //умножение длинного на короткое
void ten(std::vector<int> &a,int b);//добавление b нулей в конец
long long vectoint(std::vector<int> a);//перевод вектора в int
std::vector<int> mult (std::vector<int> a, std::vector<int> b); //умножение длинного на длинное
std::vector<int> factorial(std::vector<int> b); //факториал
int main(){
        std::vector<int> a;
        readlong(a);
        writelong(factorial(a));
        return 0;
}
void readlong(std::vector<int> &a){
        std::string s;
        std::cin >> s;
        for (std::string::iterator i = s.begin(); i < s.end(); i++) 
        a.push_back(*i-48);
}
short compare(std::vector<int> a,std::vector<int> b){
        if (a.size()>b.size()) return 1;
        if (a.size()<b.size()) return 2;
        for (size_t i=0; i<a.size();i++){
        if (a[i]>b[i]) return 1;
        if (a[i]<b[i]) return 2;
        }
        return 0;
 
}
void nol(std::vector<int> &a,std::vector<int> &b){
        if (a.size()==b.size()) return;
        if (a.size()>b.size()) std::swap(a,b);
        for (size_t i=0; i< a.size()-b.size(); i++){
                a.insert(a.begin(),0);
        }
}
std::vector<int> sum(std::vector<int> a, std::vector<int> b){
        std::vector<int>c;
        short p=0;
        nol(a,b);
        c.assign(a.size(),0);
        for (short i = a.size()-1; i >= 0; i--) {
                c[i]=a[i]+b[i]+p;
                p=0;
                if (c[i]>9) {c[i]-=10; p=1;}
        }
        if (p) c.insert(c.begin(),1);
        return c;
}
std::vector<int> smult(std::vector<int> a,int b){
        std::vector<int> c;
        if (!b||!a[0]) {c.push_back(0); return c; }
        for (size_t i = 0; i <a.size(); i++) {
                if (i==c.size()) c.push_back(0);
                c[i]=a[i]*b;
        }
        for (size_t i=c.size()-1; i > 0; i--) {
                if (c[i]>9) {
                        c[i-1]+=c[i]/10;
                        c[i]%=10;
                        }
                }
        if (c[0]<10) return c;
        short p=c[0];
        c[0]%=10;
        for(;;){
                if (!(p/10)) break;
                c.insert(c.begin(),p/10);
                p/=10;
        }
        return c;
}
void ten(std::vector<int>& a,int b){
        for (; b; b--)
                a.push_back(0);
}
std::vector<int> factorial(std::vector<int>(b)){
        std::vector<int> a,o,c;
        a.push_back(1);
        o.push_back(1);
        c.push_back(1);
        for(long int i=0;i<vectoint(b)-1;i++){
                c=sum(c,o);
                a=mult(c,a);
        }
        return a;
}
long long vectoint(std::vector<int> a){
        long long c=0,q=1;
        for (short i = a.size()-1; i >=0; i--) {
                c+=a[i]*q;
                q*=10;
        }
        return c;
}
std::vector<int> mult (std::vector<int> a, std::vector<int> b)
{
        reverse(a.begin(),a.end());
        reverse(b.begin(),b.end());
        std::vector<int> c(a.size()+b.size());
        for (int i = 0; i < a.size(); ++i)
                for (int j = 0, carry = 0; j < b.size() || carry; ++j)
                {
                        long long cur = c[i+j] + a[i] * (j < b.size() ? b[j] : 0) + carry;
                        c[i+j] = cur % 10;
                        carry = cur / 10;
                }
 
        while (c.size() > 1 && c.back() == 0)
                c.pop_back();
                reverse(c.begin(),c.end());
                return c;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru