Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Продолжение приложения А. 198. // ********** Продолжение функции подсчета потенциалов *****************
197. }}}} 198. // ********** Продолжение функции подсчета потенциалов ***************** 199. for(;;){ 200. fl = 0; 201. for(top = topnast;top!=NULL;top =top -> next) 202. { 203. if((top -> zn) == -1) 204. { 205. if(*(pu+(top ->u))!=MIN) 206. { 207. *(pv+(top->v))=(top->b) - *(pu+(top ->u)); 208. fl = 1; 209. top -> zn = 0; 210. } 211. if(*(pv+(top->v))!=MIN) 212. { 213. *(pu+(top->u))=(top->b) - *(pv+(top->v)); 214. fl=1; 215. top->zn = 0; 216. } 217. } 218. } 219. if(!fl) break; 220. } 221. printf("\n ПОТЕНЦИАЛЫ ПО v:"); 222. fprintf(fil,"\n **** ПОТЕНЦИАЛЫ ПО v:"); 223. for(i = 0;i<n;i++) 224. { 225. printf("%d",*(pv+i)); 226. fprintf(fil,"%5d",*(pv+i)); 227. } 228. getch(); 229. printf("\n ПОТЕНЦИАЛЫ ПО u: "); 230. fprintf(fil,"\n **** ПОТЕНЦИАЛЫ ПО u: "); 231. for(i=0;i<m;i++) 232. { 233. printf("%d",*(pu+i)); 234. fprintf(fil,"%5d",*(pu+i)); 235. } 236. fprintf(fil,"\n"); 237. for(top = topnast;top!=NULL;top = top->next) 238. free(top); 239. return; 240. } // potenzial 241. // ****** PROVERKA PLANA NA OPTIMALNOST' ************************ 242. void abcikl(int ik,int jk); 243. int cikl(int ik,int jk); 244. void pr(char pr[],void *st); // Предварительно Продолжение приложения А
245. int prpoisk(int i1,int j1); // Объявлены 246. int levpoisk(int i1,int j1); //ЭТИ 247. int verpoisk(int i1,int j1); //Функции 248. int nizpoisk(int i1,int j1); 249. int optim(void) 250. { 251. int i,j; 252. for(i=0;i<m;i++) 253. { 254. for(j=0;j<n;j++) 255. { 256. // ИЩЕМ ОПТИМАЛЬНОЕ РЕШЕНИЕ В НАШЕЙ МАТРИЦЕ И ЕСЛИ ЕГО НЕ НАЙДЕМ 257. // ТО ПО СЛЕДУЮЩЕМУ УСЛОВИЮ ПРИСВОИМ ГРАФОКЛЕТКЕ С КООРДИНАТАМИ 258. // ik,jk ЗНАЧЕНИЕ -1 259. if((*(pu+i)+ *(pv+j))>(*(st+i*n+j))&&((*(matr+i*n+j)) == 0)) 260. { 261. abcikl(i,j); 262. fprintf(fil,"optim(): План не оптимален, функции main() возвращаем -1,\n а abcikl() параметры i,j "); 263. return(-1); 264. } 265. } 266. } 267. fprintf(fil,"Plan optimalen"); 268. return(0); 269. } // ******* optim() *************** 270. // ************** UPGRADE PLAN ************************** 271. void abcikl(int ik,int jk) 272. { 273. int i,j; 274. fprintf(fil,"Мы в abcikl()"); 275. if((matr2=(int*)calloc(n*m,sizeof(int))) == NULL) abort(); 276. for(i=0;i<m;i++) 277. { 278. for(j=0;j<n;j++) 279. { 280. *(matr2+i*n+j) = *(matr+i*n+j); // Создаем копию рабочей матрицы 281. } 282. } 283. *(matr2+ik*n+jk) = -1; 284. // значению матрицы с параметрами ik,jk присваеваем -1 285. printf("\n"); 286. printf("Поиск Цепи: \n\n"); 287. fprintf(fil,"Поиск Цепи: \n\n"); 288. for(i=0;i<m;i++) 289. { 290. for(j=0;j<n;j++) 291. {
|