Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  kmedoids
Language: C/C++
Code:
#include<stdio.h>
#include<conio.h>
#include<math.h>
int distance(int [],int []);
int i,j,n,nc=3;
 main()
{ int j,count,t;
int obj[10][2],c[10][10][2],mean[10][2],c1[10][10][2];
int i,k,m,cost=0,cost1;
//clrscr();
printf("n enter the no. of items:");
scanf("%d",&n);
printf("n enter the items(%d)",n);
for(i=0;i<n;i++)
for(j=0;j<2;j++)
scanf("%d",&obj[i][j]);
for(i=0;i<nc;i++)
for(j=0;j<n;j++)
for(k=0;k<2;k++)
{
c[i][j][k]=0;
c1[i][j][k]=0;
}
printf("n enter center points");
for(i=0;i<nc;i++)
for(j=0;j<2;j++)
{
scanf("%d",&mean[i][j]);
c[i][0][j]=mean[i][j];
} j=0;
for(i=1;i<=n;i++)
{ if(j<n)
{

if(distance(obj[j],mean[0])<distance(obj[j],mean[1]))
if(distance(obj[j],mean[0])<distance(obj[j],mean[2]))
for(k=0;k<2;k++)
{
c[0][i][k]=obj[j][k];
cost=cost+distance(obj[j],mean[0]);
}
if(distance(obj[j],mean[1])<distance(obj[j],mean[0]))
if(distance(obj[j],mean[1])<distance(obj[j],mean[2]))
for(k=0;k<2;k++)
{
c[1][i][k]=obj[j][k];
cost=cost+distance(obj[j],mean[1]);
}
if(distance(obj[j],mean[2])<distance(obj[j],mean[0]))
if(distance(obj[j],mean[2])<distance(obj[j],mean[1]))
for(k=0;k<2;k++)
{
c[2][i][k]=obj[j][k];
cost=cost+distance(obj[j],mean[2]);
}
j++;
}
}
printf("n enter the next center points:");
for(i=0;i<nc;i++)
for(j=0;j<2;j++)
{
scanf("%d",&mean[i][j]);
c1[i][0][j]=mean[i][j];
} j=0;
for(i=1;i<=n;i++)
{
if(j<n)
{
if(distance(obj[j],mean[0])<distance(obj[j],mean[1]))
if(distance(obj[j],mean[0])<distance(obj[j],mean[2]))
for(k=0;k<2;k++)
{
c1[0][i][k]=obj[j][k];
cost1=cost1+distance(obj[j],mean[0]);
}
if(distance(obj[j],mean[1])<distance(obj[j],mean[0]))
if(distance(obj[j],mean[1])<distance(obj[j],mean[2]))
for(k=0;k<2;k++)

{
c1[1][i][k]=obj[j][k];
cost1=cost1+distance(obj[j],mean[1]);
}
if(distance(obj[j],mean[2])<distance(obj[j],mean[0]))
if(distance(obj[j],mean[2])<distance(obj[j],mean[1]))
for(k=0;k<2;k++)
{
c[2][i][k]=obj[j][k];
cost1=cost1+distance(obj[j],mean[2]);
}
j++;
}
}
getch();
if(cost<cost1)
{
for(i=0;i<nc;i++)
{
printf("n");
for(j=0;j<n;j++)
for(k=0;k<2;k++)
{
if(c[i][j][k]>0)
printf("%dt",c[i][j][k]);
}
}
}
else
{
for(i=0;i<nc;i++)
{
printf("n");
for(j=0;j<n;j++)
for(k=0;k<2;k++)
{
if(c1[i][j][k]>0)
printf("%dt",c1[i][j][k]);
}
}
}
getch();
}
int distance(int obj[],int mean[])
{
int x1,x2,y1,y2,dist;

x1=obj[0];
x2=mean[0];
y1=obj[1];
y2=mean[1];
dist=(sqrt(pow((x1-x2),2)+pow((y1-y2),2)));
return dist;
}
          
          
          
Comments: