Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2011, 08:08   #1
robotcpp
Новичок
Джуниор
 
Регистрация: 08.12.2011
Сообщений: 1
Подмигивание алгоритм краскала

помогите найти ошибку! алгоритм краскала

#include <stdio.h>
#include <stdlib.h>

struct Q{
int ves;
int x;
int y;
struct Q *next;
};

struct Q *add_in_Q(struct Q *kur, int ves, int in, int out)
{
struct Q *nov=(Q*)malloc(sizeof(Q));
nov->x=in;
nov->y=out;
nov->ves=ves;
nov->next=NULL;
if (kur==NULL)
{
kur=nov;
}
else
{
kur->next=nov;
kur=kur->next;
}
free(nov);
return kur;
}
struct Q *min(struct Q *kur,int **m,int k)
{
int min, i,j, in, out;
min=m[0][0];
for(i=0;i<k;i++)
{
for (j=0; j<k; j++)
{
if (m[i][j]<min)
{
min=m[i][j];
in=i;
out=j;
}
}
}
m[in][out]=m[out][in]=999;
kur=add_in_Q(kur,min, in,out);
return kur;
}
int prov(int**m, int k)
{
int i,j;
for (i=0; i<k; i++)
{
for (j=0; j<k; j++)
{
if (m[i][j]!=999) return 1;


}
}
return 0;
}
int main(void)
{
int n,i,r=0,j;
int ves;
int **A;
struct Q *Q_head=NULL;//ukazatel na head ocheredi
struct Q *kur=NULL;
FILE *f=fopen("input.txt","r");
fscanf(f,"%i",&n);
A=(int**)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
A[i]=(int*)malloc(sizeof(int)*n);
for(j=0;j<n;j++)
{
A[i][j]=999;
}
}
while(!feof(f))
{
fscanf(f,"%i%i%i",&i,&j,&ves);
A[i][j]=ves;
A[j][i]=ves;
}
fclose(f);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%4i",A[i][j]);
}
printf("\n");
}
while (prov(*&A,n)!=0)
{
if (Q_head==NULL)
{
Q_head=min(Q_head,*&A,n);
kur=Q_head;
}
else kur=min(kur,*&A,n);
}
scanf("%i",&i);
kur=Q_head;
while(kur!=NULL)
{
printf("%i-%i=%i\n",kur->x,kur->y,kur->ves);
kur=kur->next;
}

scanf("%i",&i);
return 0;
}
robotcpp вне форума Ответить с цитированием
Старый 08.12.2011, 22:30   #2
lola4ka
Новичок
Джуниор
 
Регистрация: 08.12.2011
Сообщений: 1
По умолчанию

привет мгврк
lola4ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм Краскала Klik_1602 Помощь студентам 1 21.06.2011 15:59
прима-краскала salwator Паскаль, Turbo Pascal, PascalABC.NET 0 03.06.2011 22:17
алгоритм краскала Олександр17 Помощь студентам 0 02.12.2010 19:59
Как проверить граф на связанность? Алгоритм Краскала PasSuper Общие вопросы C/C++ 10 18.01.2010 10:13
Алгоритм Краскала anGeee Паскаль, Turbo Pascal, PascalABC.NET 0 17.12.2008 18:16