,   CyberForum.ru

, n- , . - C++

 
:  :  - 10,   - 4.80
bek_zhenis
   bek_zhenis
0 / 0 / 0
: 20.10.2011
: 55
31.05.2012, 19:40     , n- , . #1
, n- , . , ( ))
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
31.05.2012, 19:40     , n- , .
:

, , C++
C++ , .
C++ , ,
C++ , 5 N N^2
, 6 C++
, C++
, C++
n- , C++



:
.
-==-
FAQ
01.06.2012, 11:28     , n- , . #2
bek_zhenis
, n- , . , ( ))
-
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
#include <iostream>
#include <ctime>//Íóæ*î äëÿ ãå*åð*öèè n - ç**÷*ûõ ÷èñåë
using namespace std;
 
int getRandVal(int n);//Ôó*êöèÿ ãå*åðèðóåò ñëó÷*é*îå n-îå ÷èñëî
//Ôó*êöèÿ âåð*¸ò ì*ññèâ öèôð ñîñò*âëÿþùèõ ÷èñëî val
//ïåðåìå***ÿ n áóäåò ñîäåðæ*òü ÷èñëî öèôð â ì*ññèâå
//ôë*ã bGetArray îïðåäåëÿåò ç*ïèñûâ*òü ëè ð*çðÿäû â 
//ì*ññèâ èëè ëèøü îãð**è÷èòüñÿ ïîäñ÷¸òîì ð*çðÿäîâ ÷èñë*
int * splitValue(int val, int &n, bool bGetArray);
//Ôó*êöèÿ ïðîâåðÿåò ñîñòîèò ëè ÷èñëî òîëüêî èç *å÷¸ò*ûõ ÷èñåë
bool isValueConsistOnlyNoOddNumbers(int val);
 
int main()
{
    int i;
    int m;//Áóäåò ñîäåðæ*òü ÷èñëî ÷èñåë äëÿ ***ëèç*
    int n;//Áóäåò ñîäåðæ*òü ÷èñëî ð*çðÿäîâ äëÿ ÷èñåë
    int sum;//Áóäåò ñîäåðæ*òü ñóììó ÷èñåë
    int cnt;//Áóäåò ñîäåðæ*òü êîë-âî n-ç**÷*ûõ ÷èñåë
    //ñîñòîÿùèõ òîëüêî èç *å÷¸ò*ûõ ç**÷å*èé
    int *arr = NULL;//Óê*ç*òåëü ** ì*ññèâ ñ n-ç**÷* ÷èñë*ìè
    while(true)
    {
        system("cls");
        cout<<"Enter number values in array : ";cin>>m;
        cout<<"Enter n digits in values     : ";cin>>n;
        arr = new int[m];
        cout<<"Generated array of values\n";
        for(i = 0; i < m; i++)
            cout<<(arr[i] = getRandVal(n))<<endl;
        cout<<"Values in array with only odd numbers\n";
        for(sum = (cnt = (i = 0)); i < m; i++)
        {
            if(isValueConsistOnlyNoOddNumbers(arr[i]))
            {
                cout<<arr[i]<<endl;
                sum = sum + arr[i];
                cnt = cnt + 1;
            }
        }
        delete [] arr;
        if(!cnt)
            cout<<"array not contain values which consist"
                <<" only from no-odd numbers\n";
        else
        {
            cout<<"sum of values which consist"
                <<" only from no-odd numbers is "
                <<sum<<endl;
            //Ð*çáèâ*åì ç**÷å*èå ñóììû ** ð*çðÿäû
            arr = splitValue(sum, n, true);
            for(cnt = (i = 0); i < n; i++)
            {
                if(!isValueConsistOnlyNoOddNumbers(arr[i]))
                    cnt = cnt + 1;
            }
            cout<<"given sum contains from "<<cnt<<" odditive numbers\n";
            delete [] arr;
        }
        system("pause");
    }
    return 0;
}
 
int getRandVal(int n)
{
    int val = 0;
    int nDigits = 0;
    //Áóäåì ïðîäîëæ*òü ãå*åð*öèþ
    //ïîê* *å ñãå*åðèðóåì ñëó÷ 
    //n-ç**÷*îå ÷èñëî 
    while(nDigits != n)
        splitValue((val = rand()%RAND_MAX), nDigits, false);
    return val;
}
 
int * splitValue(int val, int &n, bool bGetArray)
{
    int * arr = NULL;//Óê*ç*òåëü ** ì*ññèâ ñ ð*çðÿä*ìè ÷èñë* val
    if(val < 0)
        val *= -1;//Ç**ê ÷èñë* **ì *å *óæå*
    //Ïîäñ÷èòûâ*åì ÷èñëî ð*çðÿäîâ â ÷èñëå
    int i, buf = val;
    for(n = 0; 0 < buf; n++)
        buf = buf / 10;
    //Âûäåëÿåì ï*ìÿòü ïîä ì*ññèâ ÷èñåë
    if(bGetArray)
    {
        arr = new int[n];
        for(i = 0; 0 < val; i++)
        {
            //Ç*ïèñûâ*åì â ì*ññèâ öèôðû ð*çðÿäîâ ÷èñë*
            arr[i] = val % 10;
            val    = val / 10;
        }
    }
    return arr;
}
 
bool isValueConsistOnlyNoOddNumbers(int val)
{
    bool bRet = true;
    int nDigits = 0;
    int * array = splitValue(val,nDigits,true);
    for(int i = 0; i < nDigits && bRet; i++)
    {
        if(array[i]%2 == 0)
            bRet = false;
    }
    delete [] array;
    return bRet;
}
 ,   n- ,    .  
Yandex
01.06.2012, 11:28     , n- , .

: 00:09. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru