View difference between Paste ID: s8EgsS9d and keGiriBB
SHOW: | | - or go back to the newest paste.
1
#include <QtCore/QCoreApplication>
2
#include <iostream>
3
#include <cstdlib>
4
#include <cmath>
5
#include <cstdio>
6
using namespace std;
7
void array(int *start, int *finish){
8
    int j=0;
9
    for(int *i=start; i<finish; i++){
10
        cout<<"Задайте елемент з номером "<<j<<": ";
11
        cin>>*i;
12
        j++;
13
    }
14
}
15
;void print(int *start, int *finish){
16
    for(int *i=start; i<finish; i++){
17
        cout<<*i<<"; ";
18
    }
19
}
20
int count(int *start, int *finish){
21
    double sergeom, dob=1;
22
    int count=0;
23
    for(int *i=start; i<finish; i++)
24
        dob*=*i;
25
    sergeom=pow(dob,(1/((double)(finish-start))));
26
    for(int *i=start; i<finish;i++){
27
        if(*i>sergeom)
28
            count++;
29
    }
30
    return count;
31
}
32
void vstavka(int *finish, int *pos, int el, int&size){
33
    int *i=finish;
34
    size++;
35
    for(; i>pos; i--)
36
        *i=*(i-1);
37
    *i=el;
38
}
39
void sortvstavkou(int *start, int *finish){
40
    for(int *i=start+1; i<finish; i++){
41
        if(*i<*(i-1)){
42
            int buf=*i;
43
            int *j=i;
44
            do{
45
                *j=*(j-1);
46
                j--;
47
            }while(*j!=*(start-1) && buf<*(j-1));
48
            *j=buf;
49
        }
50
    }
51
}
52
void sort(int *start, int *finish){
53
    int parn[100], sizea=0, neparn[100], sizeb=0;
54
    for(int *i=start; i<finish; i++){
55
        if(*i%2==0){
56
            parn[sizea]=*i;
57
            sizea++;
58
        }
59
        else{
60
            neparn[sizeb]=*i;
61
            sizeb++;
62
        }
63
    }
64
    int *q=parn, *w=neparn;
65
    for(int *i=start; i<parn+sizea; i++, q++)
66
        *i=*q;
67
    for(int *i=parn+sizea+1; i<finish; i++, w++)
68
        *i=*w;
69
}
70
void sort(int *start, int *finish);
71
void sortvstavkou(int *start, int *finish);
72
void vstavka(int *finish, int pos, int el, int&size);
73
int count(int *start, int *finish);
74
void array(int *start, int *finish);
75
void print(int *start, int *finish);
76
int main(int argc, char *argv[])
77
{
78
    QCoreApplication a(argc, argv);
79
    system("color F0");
80
    int ar[100], size, pos, el;
81
    cout<<"Задайте розмiр масиву: ";
82
    cin>>size;
83
    array(ar, ar+size);
84
    cout<<"Отриманий масив: ";
85
    print(ar, ar+size);
86
    cout<<"\nКiлькiсть елементiв, що бiльшi за середнє геометричне: "<<count(ar, ar+size);
87
    cout<<"\nЗадайте позицiю в яку необхiдно вставити елемент: ";
88
    cin>>pos;
89
    cout<<"Задайте цей елемент: ";
90
    cin>>el;
91
    vstavka(ar+size, ar+pos, el, size);
92
    print(ar, ar+size);
93
    cout<<endl;
94
    sortvstavkou(ar, ar+size);
95
    sort(ar, ar+size);
96
    print(ar, ar+size);
97
    return a.exec();
98
}