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

Вычислить сумму первых n чисел от числа m - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ деление на макс элемент массива http://www.cyberforum.ru/cpp-beginners/thread53882.html
Помогите решить задачу?пожалуйста. В массиве из 10 чисел поделить все отрицательные элементы на максимальный элемент массива.
C++ Нужно перевести программу! Код Хэмминга. Код Хэмминга на Паскале, кто может переведите на С++? sent data bits: 1110011 1 1 1 1 0 0 1 1 1 1 0 checking error status : 0 received data bits: 11111011110 checking error status : 5 uses crt; http://www.cyberforum.ru/cpp-beginners/thread53881.html
C++ То что в книгах не описано))
Чем отличаются в обычном C ANCI ++i от i++?
Определить периметр правильного n-угольника, описанного около окружности радиуса r C++
Определить периметр правильного n-угольника, описанного около окружности радиуса r
C++ getch(), char *name; http://www.cyberforum.ru/cpp-beginners/thread53857.html
Привет всем, у меня опять вопрос, задается тип данных например char name; это понятно но для чего там ставится знак * char* name; И еще что значит функция getch() объясните пожалуйста по подробней....
C++ Помогите описать программу ежестрочно!!!!! Помогите описать программу ежестрочно!!!!! подробнее

Показать сообщение отдельно
minitup
1 / 1 / 0
Регистрация: 27.09.2009
Сообщений: 8
04.10.2009, 12:46     Вычислить сумму первых n чисел от числа m
Еще вот так можно (все подробно показано):
Проверил для чисел m=19122772825134 и n=11, посчитало сум=47. Вроде все верно.


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
#include <iostream>
 
int max;    // max[100]
#define max 100
 
int osn;    // osnovanie DEC=10
#define osn 10
 
using namespace std;
 
int MPow(int p)     // return 10^p
{
    if (p==0) {return 1;}
    else if (p!=0)
    {
        int x=1;
        for(int i=1; i<=p; i++)
 
            x=x*osn;
            return x;
        }
 
    }
 
 
int funcA(char a[])     // return(znachenie chisla(DEC) + proverka)
{
    int c;      // prochitaniy simvol
    int d=0;    // kolichestvo cifr v chisle
    int z=0;    // znachenie cifri chisla
    int ZnCh=0; // znachenie chisla ZnCh=F(z)
    int p=0;    // pokazatel stepeni
 
    for (int i=0; i<(max-1) && (c=getchar())!=EOF && c!='\n'; ++i)
    {
       a[i]=c;
       d++;
 
        if  (c > 47 && c < 58)  // proverka(tolko cifri)
        {
            //proverka(c,i, ...) - dopolnitelnie proverki
            }
        else
        {   cout << "BAD SIMBOL - '"<<a[i]<<"' - " << i+1 <<endl;
            return 0;
 
            }
 
        }
 
 
    for (int j=d-1; j>=0; j--) // schet po razryadam DEC
    {
        z = 10*0 + a[j] - '0';
 
        ZnCh = ZnCh + z*MPow(p);
 
        p++;
 
        }
 
    return ZnCh;
 
    }
 
int funcB(char s[], int dl_n)   // summirovanie cifr m v kolichestve n
{
    int sum=0;
    for (int i=0; i<= (dl_n - 1); i++)
    {
        sum= sum + (10*0 + s[i]- '0');
 
        }
 
    return sum;
 
    }
 
int main()
{
    char m[max];
    char n[max];
    int dl_m;
    int dl_n;
 
    dl_m = funcA(m);
    dl_n = funcA(n);
 
    if (dl_m <= dl_n)
        {cout<<"BAD:  m < n :: "<< dl_m << " < "<< dl_n <<endl; return 0; }
 
    cout << "sum(m(n))=" << funcB(m, dl_n) << endl;
}
 
Текущее время: 20:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru