,   CyberForum.ru

- C++

C++ . , http://www.cyberforum.ru/cpp-beginners/thread1123667.html
. , , . , , , .
C++ void sort(student **ppStud, int k, char ch). - , . : #include "stdafx.h" #include <iostream> #include <string.h> #include <time.h> #include <memory.h> #include <memory> http://www.cyberforum.ru/cpp-beginners/thread1123663.html
C++
, , . : p . : , , , . p p : -, .
C++
. , , . 4,5( 4) , , float, - ( ). , ? : #include <iostream.h> #include <math.h> #include <stdio.h> int...
C++ D (n) http://www.cyberforum.ru/cpp-beginners/thread1123609.html
A(n×n). -, , . D(n) .
C++ ? <<, . ?

dimcoder
   dimcoder
449 / 422 / 66
: 11.09.2011
: 1,110
19.03.2014, 12:41    
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>
#include <cstdlib>
#include <cmath>
#include <locale> 
 
using namespace std;
 
double minElem(double *arr, int n);     //ïðîòîòèïû ôó*êöèé äëÿ **õîæäå*èÿ ìè*èì*ëü*îãî ýëåìå*ò*
double summElem(double *arr, int n);    //ñóìì* ýëåìå*òîâ ì*ññèâ*, ð*ñïîëîæå**ûõ ìåæäó ïåðâûì è âòîðûì îòðèö*òåëü*ûìè ýëåìå*ò*ìè
void preobr(double *arr, int n);        //Ïðåîáð*çîâ*òü ì*ññèâ ò*êèì îáð*çîì, ÷òîáû ñ**÷*ë* ð*ñïîëîã*ëèñü âñå ýëåìå*òû, ìîäóëü 
                                        //êîòîðûõ *å ïðåâûø*åò 1, * ïîòîì - âñå îñò*ëü*ûå
 
int main() {
    int n = 0;
    
    setlocale(0, "rus");            //ýòî äëÿ ãå*åð*öèè ñëó÷*é*ûõ ÷èñåë - ÷òî áû îäè**êîâûå *å âûâîäèëî
    srand((unsigned)time(NULL));
 
    cout << "Ââåäèòå êîëè÷åñòâî ýëåìå*òîâ: ";       //ââîä êîë-â* ýëåìå*îâ ì*ññèâ*
    cin >> n;
 
    double *arr = new double [n];                 //Äè**ìè÷åñêè âûäåëÿåì ï*ìÿòè ïîä ì*ññèâ èç n ýëåìå*òîâ
    
    for(int i = 0; i < n; i++) {               //Ç*ïîë*ÿåì ì*ññèâ ñëó÷*é*ûìè ÷èñë*ìè
         arr[i]=rand() % 20 - 10;              //îò -10 äî 10
        cout << " [" << i << "] = ";           //è âûâîäèì ** ýêð**
        cout << arr[i];
    }
    cout << "\n Ìè*èì*ëü*ûé ýëåìå*ò: " << minElem(arr, n) << endl;
    cout << "\n Ñóìì* ýëåìå*òîâ: " << summElem(arr, n) << endl;
    cout << "\n Ïðåîáð*çîâ***ûé ì*ññèâ:"<<endl;
    preobr(arr, n);                //âûçûâ*åì ôó*êöèþ äëÿ ïðåîáð*çîâ**èÿ ì*ññèâ*
     for(int i = 0; i < n; i++) {            //âûâîäèì ïðåîáð*çîâ***ûé ì*ññèâ ** ýêð**
        
        cout << " [" << i << "] = ";
        cout << arr[i]<<endl;
    }
    delete [] arr;           //Î÷èù*åì ï*ìÿòü âûäåëå**óþ ïîä ì*ññèâ
    
    system("PAUSE");
    return 0;
}
 
 
double minElem(double *arr, int n) 
{
    double min = arr[0];          //Äîïóñòèì, ÷òî ïåðâûé ýëåìå*ò - ìè*èì*ëü*ûé
 
    for(int i = 1; i < n; i++) {   //Ïðîáåã*åìñÿ ïî ì*ññèâó â ïîèñê*õ ìå*üøåãî ýëåìå*ò*
        if(arr[i] < min)           //Åñëè **øëè ýëåìå*ò ìå*üøå
            min = arr[i];          //Òî ç*ïèñûâ*åì åãî ê*ê ìå*üøèé
    }
    return min;                    //Âîçâð*ù*åì ìè*èì*ëü*îå ç**÷å*èå ì*ññèâ*
}
 
double summElem(double *arr, int n)
{
    double summ = 0.0;          //Îá*óëÿåì èñêîìóþ ñóììó
    bool flag = false;  // Ôë*ã
    int begin = 0;        //Äîïóñòèì, ÷òî ïåðâûé ýëåìå*ò ì*ññèâ* - îòðèö*òåëü*ûé, òî åñòü òîò îò êîòîðîãî *óæ*î **õîäèòü ñóììó
    int end = 0;          //Äîïóñòèì, ÷òî ïåðâûé ýëåìå*ò ì*ññèâ* - òîæå îòðèö*òåëü*ûé; äî *åãî ìû **õîäèì ñóììó
 
    for(int i = 0; i < n; i++) {            //èäåì ïî ì*ññèâó
        if(arr[i] < 0 && !flag) {           //åñëè òåêóùèé ýëåìå*ò îòðèö*òåëü*ûé è *è îä*îãî îòðèö*òåëü*îãî ýëåìå*ò* **éäå*î åùå *å áûëî, òî
            begin = i;                      //è*äåêñ òåêóþùåãî ýëåìå*ò* - **÷*ëî ìåñò* îòêóä* *óæ*î ñêë*äûâ*òü
            flag = true;                    //ïåðâûé îòðèö*òåëü*ûé ýëåìå*ò **éäå*
        }
        else if(arr[i] < 0 && flag) {       //åñëè òåêóùèé ýëåìå*ò - âòîðîé **éäå**ûé îòðèö*òåëü*ûé ýëåìå*ò, òî
            end = i;                        //î* ñò**îâèòñÿ êî*å÷*ûì ýëåìå*òîâ ñóììû
            break;                          //âûõîäèì èç öèêë* - *è÷åãî **ì áîëüøå èñê*òü *å *óæ*î, ò.ê. ïåðâûé è âòîðîé îòð. ýëåìå*òû **éäå*û
        }
    }
    
    for(int i = begin + 1; i < end; i++) {        //ñ÷èò*åì ñóììó ýëåìå*òîâ ì*ññèâ* îò ïåðâîãî îòðèö*òåëü*îãî ýëåìå*ò* äî âòîðîãî (*å âêëþ÷èòåëü*î)
        summ += arr[i];
    }
    return summ;         //âîçâð*ù*åì èñêîìóþ ñóììó
}
 
 
void preobr(double *arr, int n)
{
    int k=0;           //êîë-âî ýëåìå*òîâ, ìîäóëü êîòîðûõ ìå*üøå åäè*èöû. Ïðåäïîëîæèì ÷òî èõ *îëü (òîëüêî ïîê*)
    double buf;            //áóôåð**ÿ ïåðåìå***ÿ äëÿ ïðîèçâåäå*èÿ ïðîìåæóòî÷*ûé ð*ñ÷åòîâ, ÷òî áû ìå*ÿòü ìåñò*ìè ýëåìå*òû ìîäóëü êîòîðûõ ìå*üøå îä*îãî ñ ïåðâûìè ýëåìå*ò*ìè ì*ññèâ*
    for(int i=0;i<n;i++)   //èäåì ïî ì*ññèâó
    if(abs(arr[i])<=1)      //åñëè ìîäóëü òåêóùåãî ýëåìå*ò* ìå*üøå îä*îãî, òî
    {                       //ìå*ÿåì åãî ìåñò*ìè ñ ýëåìå*òîì ñ è*äåêñîì k
        buf=arr[k];         
        arr[k]=arr[i];
        arr[i]=buf;
        k++;
    } 
}
- .
, ? ?
- , .
 
: 06:51. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
@Mail.ru