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

Не получается запустить длинный код Алгоритма Гомори, код правильный. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ классы и объекты http://www.cyberforum.ru/cpp-beginners/thread214933.html
Здравствуйте. Помогите с задачей. Нужно написать программу на классы и объекты. Пользователь вводит символьную строку, а программа определяет длину строки и количество пробелов в ней. Спасибо.
C++ обратная польская запись //--------------------------------------------------------------------------- #include <vcl.h> #include <stdio.h> #include <stdlib.h> #include <io.h> #include <fstream.h> #include <vcl.h>... http://www.cyberforum.ru/cpp-beginners/thread214932.html
Как откр. сайт C++
Здравствуйте, господа. Можно ли каким-то образом откр. сайт в консольной программе? Пробовал использовать system ("start"), однако выдаётся сообщение "Bad command or file name". Заранее...
C++ параметры шаблона
1) работа с параметрами шаблона; 2) создайте класс для обьекта типа "муз. проигрыватель".постройте UMLдиаграмму. напишите реализацию на С++:конструктор,деструктор и минимум три метода (с...
C++ нахождение максимального элемента в двумерном массиве http://www.cyberforum.ru/cpp-beginners/thread214882.html
я совсем запуталась, хотя задачка-то вроде - фигня. помогите, пожалуйста (нужна программа на си) Найти наибольший элемент a(i)(k) матрицы А, элементы которой вычисляются по формуле...
C++ как сохронять в ini файл как сохранять переменные В ini файл и как с него считывать если можно напишите пример программы подробнее

Показать сообщение отдельно
StyxVX
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 8
19.12.2010, 20:32  [ТС]
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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
#include<ctype.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
class simplex {int n; // ÷èñëî ïåðåìåГ*Г*ûõ +1
int m; // ÷èñëî îãðГ*Г*ГЁГ·ГҐГ*ГЁГ©
int *basis;
int *mi;
float *mc;
int flag;
public:simplex (int m1, FILE *fp, int f);
~simplex()
{if(mi) free(mi);
if(mc) free(mc);
if(basis) free(basis);
}
void printsimtable (int g);
void iterac();
void resultat();
};
simplex:simplex (int m1, FILE *fp, int f)
{FILE *fp1;
int fl, i;
if((fp1=fopen ("hell1", "w+"))==NULL) {printf ("ГЋГёГЁГЎГЄГ* âûäåëåГ*ГЁГї ГЇГ*ìÿòè!");
exit(1);
};
m=m1;
n=0;
basis=NULL;
flag=f;
fl=1;
do {fread(&c, sizeof (struct koef), 1, fp);
if (! feof(fp))
{do {fread(&i, sizeof(int), 1, fp1);
if (! feof(fp1) && i==c.ind)
{fl=0;
break;
}
} while (! feof(fp1));
if(fl) {fwrite (&c.ind, sizeof(int), 1, fp1);
n++;
fflush(fp1);
}
else fl=1;
rewind(fp1);
}
} while (! feof(fp));
rewind(fp);
if (m>n-1) {printf ("×èñëî îãðГ*Г*ГЁГ·ГҐГ*ГЁГ© áîëüøå èëè Г°Г*ГўГ*Г® ÷èñëó ïåðåìåГ*Г*ûõ");
getch();
exit(1);
}
mi=(int *) malloc (sizeof(int)*n);
mc=(float *) malloc (sizeof(float)*n*(m+1));
if (! mc ||! mi) {printf ("ГЋГёГЁГЎГЄГ* âûäåëåГ*ГЁГї ГЇГ*ìÿòè!");
getch();
exit(1);
}
fread (mi, sizeof(int), n, fp1);
qsort (mi, n, sizeof(int), sort);
fclose(fp1);
remove ("hell1");
for (fl=0; fl<m+1; fl++)
for (i=0; i<n; i++)
*(mc+fl*n+i)=0;
fl=m;
do {fread(&c, sizeof (struct koef), 1, fp);
if (! feof(fp))
{if (c.ind)
{for (i=1; i<n; i++)
if (c.ind==*(mi+i))
{*(mc+fl*n+i)=*(mc+fl*n+i)+c.coef;
break;
}
}
else{*(mc+fl*n)=c.coef;
if (fl==m) fl=0;
else fl++;
}
}
} while (! feof(fp));
}
void simplex:iterac()
{int i, j, fl, fl1, k, l;
float s, min;
for (i=1; i<n; i++)
{if(*(mc+m*n+i)!=0)
{fl=1;
for (j=0; j<m; j++)
if(*(mc+j*n+i)!=0) {fl=0;
break;
}
if(fl) {printf ("ГЌГҐ ГўГ±ГҐ ïåðìåГ*Г*ûå öåëåâîé ГґГіГ*êöèè âõîäÿò Гў îãðГ*Г*ГЁГ·ГҐГ*ГЁГї");
getch();
exit(1);
}
}
}
basis=(int *) malloc (sizeof(int)*m);
if(! basis) {printf ("ГЋГёГЁГЎГЄГ* âûäåëåГ*ГЁГї ГЇГ*ìÿòè");
getch();
exit(1);
}
for (i=0; i<m; i++)
*(basis+i)=0;
i=0;
do
{fl=1;
fl1=0;
for (j=1; j<n; j++)
if(*(mc+i*n+j)>0) {fl=0;
break;
}
if(fl) {printf ("ÏåðåìåГ*Г*ûå äîëæГ*Г» áûòü ïîëîæèòåëüГ*Г»");
getch();
exit(1);
}
s=*(mc+i*n+j);
for (l=0; l<n; l++)
*(mc+i*n+l)=*(mc+i*n+l)/s;
for (l=0; l<=m; l++)
if (l!=i) {s=*(mc+l*n+j);
for (k=0; k<n; k++)
*(mc+n*l+k)=*(mc+l*n+k) - s*(*(mc+i*n+k));
}
for (l=0; l<m; l++)
{s=0;
for (k=1; k<n; k++)
s=s+fabs(*(mc+l*n+k));
if (s==0) {if(*(mc+l*n)==0) printf ("ÓðГ*ГўГ*ГҐГ*ГЁГї ëèГ*ГҐГ©Г*Г® Г§Г*âèñèìû");
else printf ("ÑèñòåìГ* îãðГ*Г*ГЁГ·ГҐГ*ГЁГ© Г*åñîâìåñòГ*Г*");
getch();
exit(1);
}
}
*(basis+i)=j;
for (l=0; l<m; l++)
if(*(mc+l*n)<0)
for (k=0; k<n; k++)
*(mc+l*n+k)= - (*(mc+l*n+k));
for (l=0; l<m; l++)
if((*(basis+l)==0)||(*(mc+l*n+(*(basis+l)))<0)) {i=l; fl1=1; break;}
} while(fl1);
printsimtable(0);
do {min=100000;
fl=0;
for (l=1; l<n; l++)
{if(*(mc+m*n+l)>0) {fl=1;
fl1=1;
for (k=0; k<m; k++)
if(*(mc+k*n+l)>0)
{fl1=0;
s=*(mc+k*n)/(*(mc+k*n+l));
if (s<min) {min=s;
i=k;
j=l;
 
}
}
if(fl1) {printf ("ГђГҐГёГҐГ*ГЁГї Г*ГҐГІ");
getch();
exit(1);
}
break;
}
}
if(fl) {s=*(mc+i*n+j);
for (l=0; l<n; l++)
*(mc+i*n+l)=*(mc+i*n+l)/s;
for (l=0; l<=m; l++)
if (l!=i) {s=*(mc+l*n+j);
for (k=0; k<n; k++)
*(mc+l*n+k)=*(mc+l*n+k) - s*(*(mc+i*n+k));
}
printsimtable(0);
*(basis+i)=j;
}
} while(fl);
}
void simplex:resultat()
{int i, j, fl;
if (flag==-1) printf ("ГЊГЁГ*ГЁГ¬Г*ëüГ*îå Г§Г*Г*Г·ГҐГ*ГЁГҐ ГґГіГ*êöèè öåëè Г°Г*ГўГ*Г® % 8.2f\n",*(mc+m*n));
else printf ("ГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*îå Г§Г*Г*Г·ГҐГ*ГЁГҐ ГґГіГ*êöèè öåëè Г°Г*ГўГ*Г® % 8.2f\n", - (*(mc+m*n)));
printf ("ГЋГЇГІГЁГ¬Г*ëüГ*ûé ГЇГ«Г*Г*:");
for (i=1; i<n; i++)
{fl=0;
for (j=0; j<m; j++)
if(*(mi+i)==*(basis+j)) {fl=1;
break;
}
if(fl) printf ("x % 02d=%-5.2f\n",*(mi+i),*(mc+j*n));
else printf ("x % 02d=0 \n",*(mi+i));
printf("");
}
}
void simplex:printsimtable (int g)
{int i, j, k, v=g, raz;
clrscr();
raz=n-1-6*(v+1);
if((raz<=0)&&(abs(raz)<6)) raz=6+raz;
else if (raz>0) raz=6;
else return;
for (j=0; j<3; j++)
{if (j!=1) {printf("* * *");
for (i=0; i<raz; i++)
printf(" *");
if (raz<6) printf ("\n");
}
else {if(*(mc+m*n)>=0) printf ("* *%8.2f *",*(mc+m*n));
else printf ("* * -%-7.2f *", - (*(mc+m*n)));
for (i=1; i<=raz; i++)
if(*(mc+n*k+6*v+i)>=0) printf ("%8.2f *",*(mc+n*k+6*v+i));
else printf ("-%-7.2f *", - (*(mc+n*k+6*v+i)));
if (raz<6) printf ("\n");
}
}
for (i=0; i<20+raz*10; i++)
printf("*");
getch();
rewind(fp);
simplex ob (no, fp, f);
gomori();
ob.iterac();
ob.resultat();
}
C++
1
simplex:simplex (int m1, FILE *fp, int f)
[C++ Error] Unit1.cpp(31): E2040 Declaration terminated incorrectly
Находит в этой строчке эту ошибку запускал через Console Wizard
Подскажите пожалуйста как исправить?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru