0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 14
1

Создание GUI для готового кода C++

13.01.2016, 23:23. Показов 826. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Есть код который работает. Мне необходимо создать для него элементарный интерфейс. Я в этом новичок, так что не судите строго. Код импортировал в Qt и отдельно склепал форму в Qt Creator-e. Как объеденить код с формой? (Может есть гайд для зеленых начинателей)...
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
#include <cstring>
#include <cmath>
#include <iostream>
using namespace std;
struct wyndz{
    int dl;
    int* wyn;
    int dlr;
    int* r;
};
struct wyndek{
    int* wyn;
    int* e;
    bool sukces;
};
class koder{
    public:
    int n;
    int k;
    int kont;
    int t;
    int* g;
    int q;
    bool poprn;
    bool poprg;
    koder(int n,int* g,int dlg,int t){
        this->n=n;
        this->g=new int[dlg];
        memcpy(this->g,g,dlg*sizeof(int));
        kont=dlg-1;
        poprn=true;
        poprg=true;
        q=25;
        k=n-kont;
        this->t=t;
        int tmp=round(log(n+1)/log(q));
        if((pow(q,tmp)-1)!=n){
            poprn=false;
        }
        int* tabn=new int[n+1];
        memset(tabn,0,(n+1)*sizeof(int));
        tabn[0]=q-1;
        tabn[n]=1;
        wyndz w=dzielenie(g,dlg,tabn,n+1);
        for(int i=0;i<w.dl;i++){
            cout<<w.wyn[i]<<" ";
        }cout<<endl;
        if(w.dlr!=0)
            poprg=false;
    }
    
    int absq(int w){
        if(w>=0)
            return w;
        return q+w;
    }
    
    wyndz dzielenie(int* w1,int l1,int* w2,int l2){// w2/w1
        int* r=new int[l2];
        int dlr=-1;
        int* wyn=new int[l2-l1+1];
        memcpy(r,w2,l2*sizeof(int));
        for(int i=0;i<=l2-l1;i++){
                int dz;
                for(dz=0;dz<q;dz++){
                    if((r[l2-i-1]-dz*w1[l1-1])%q==0)
                        break;
                }
                wyn[l2-l1-i]=dz;
                for(int j=0;j<l1;j++){
                    r[l2-i-j-1]=absq((r[l2-i-j-1]-dz*w1[l1-1-j])%q);
                }
        }
        for(int i=l1-1;i>=0;i--){
            if(r[i]!=0){
                dlr=i;
                break;
            }
        }
        wyndz* ret=new wyndz;
        ret->dl=l2-l1+1;
        ret->wyn=wyn;
        ret->dlr=dlr+1;
        ret->r=r;
        return *ret; 
        
    }
    int* kodowanie(int* m){
        int* nm=new int[n];
        memset(nm,0,n*sizeof(int));
        memcpy(nm+this->kont,m,k*sizeof(int));
        wyndz w=dzielenie(g,kont+1,nm,n);
        for(int i=0;i<kont;i++){
            nm[i]=absq(-w.r[i]);
        }
        return nm;
    }
    
    int waga(int* p,int l){
        int o=0;
        for(int i=0;i<l;i++){
            o=(p[i]==0?o:o+1);
        }
        return o;
    }
    
    wyndek dekodowanie(int* c){
        int* nm=new int[kont];
        int* nc=new int[n];
        memcpy(nc,c,n*sizeof(int));
        int* e=new int[n];
        memset(e,0,n*sizeof(int));
        wyndek ret;
        ret.sukces=true;
        for(int i=0;i<=k;i++){
            wyndz w=dzielenie(g,kont+1,nc,n);
            if(w.dlr==0){
                memcpy(nm,nc+kont,k*sizeof(int));
                break;
            }
            if(waga(w.r,kont)<=t){
                for(int j=0;j<kont;j++){
                    nc[j]=absq((nc[j]-w.r[j])%q);
                    e[(n+j-i)%n]=w.r[j];
                }
                for(int j=kont;j<n;j++){
                    nm[j-kont]=nc[((j+i))%n];
                }
                break;
            }
            int tmp=nc[n-1];
            for(int j=n-1;j>0;j--){
                nc[j]=nc[j-1];
            }
            nc[0]=tmp;
            if(i==k)
                ret.sukces=false;
        }
        ret.e=e;
        ret.wyn=nm;
        return ret;
    }
};
 
using namespace std;
int main(){
    //int g[]={24,0,0,0,1};
    int g[]={1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1};
    //int* m=new int[23];
    int m[]={12,14,10,1,1,1,23,21,23,11,22,12,0,0,0,5,1,2,3,4};
    //memset(m,0,23*sizeof(int));
    koder k(24,g,21,1);
    cout<<endl<<"Сообщение:";
    for(int i=0;i<k.k;i++){
        cout<<m[i]<<" ";
    }cout<<endl;
    cout<<k.poprn<<k.poprg<<endl;
    int* c=k.kodowanie(m);
    cout<<endl<<"Закодированная последовательность:";
    for(int i=0;i<k.n;i++){
        cout<<c[i]<<" ";
    }cout<<endl;
    c[15]=(c[15]+15)%25;
//  c[2]=(c[2]+1)%2;
    cout<<endl<<"Закодированная последовательность с ошибкой:";
    for(int i=0;i<k.n;i++){
        cout<<c[i]<<" ";
    }
    cout<<endl;
    wyndek w=k.dekodowanie(c);
    if(!w.sukces){
        cout<<"Nie udalo sie"<<endl;
        return 1;
    }
    cout<<endl<<"Декодированное сообщение:";
    for(int i=0;i<k.k;i++){
        cout<<w.wyn[i]<<" ";
    }
    cout<<endl<<"Ошибка:";
    for(int i=0;i<k.n;i++){
        cout<<w.e[i]<<" ";
    }
}
Миниатюры
Создание GUI для готового кода C++  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2016, 23:23
Ответы с готовыми решениями:

Нужен график для готового кода!
Ситуация такая: код для Матлаба написан, но самой программы под рукой нет а мне в ближайшие сутки...

Написать алгоритм действий для готового кода программы
Здравствуйте! Помогите, пожалуйста, решить проблему. А проблема такая, что нам дали лабораторную...

Нужны статьи и немного готового кода для написания собственного обфускатора
Ну уж очень я загорелся желанием написать свой обфускатор на c# для c# xD Даже если уровень его...

Милые люди, кто разбирается с блок-схемами для готового кода на паскале
Собственно, вот сам код. Буду очень признателен program tabfun; uses crt; const min = 0; max...

1
Pied Piper
236 / 227 / 57
Регистрация: 15.01.2013
Сообщений: 855
14.01.2016, 10:59 2
Возможно, поможет

http://cppstudio.com/post/11167/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2016, 10:59
Помогаю со студенческими работами здесь

Создание плагина (DLL) для готового приложения
Доброго времени суток! Подскажите, кто имел с таким дело, как создать dll к готовому коммерческому...

Javascript gui для java кода
Здравствуйте. Есть ли какая нибудь возможность делать обычные дескотпные приложения, используя в...

Создание GUI для консольного приложения на C++
Я хотел создать GUI для консольного приложения на C++. Но возникла одна проблема - передавать...

Создание динамической библиотеки для GUI
Доброй ночи, дорогие форумчане! Пишу Вам впервые, работаю с QT всего-ничего, так что не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru