물리2008. 7. 8. 16:50
/* made by JEong Hyang Min  (blindfish)
 * 2008. 06. 22*/

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

int main()
{
    int i,j;
    int node;
    int link;
    int num1=0;
    int num2=0;
    
    int **network;

    printf("input number of node===>");
    scanf("%d", &node);
    printf("\n");
    printf("input number of link===>");
    scanf("%d", &link);
    printf("\n");

    network = (int **)malloc(sizeof(int*) * node);

    for(i = 0; i < node; i++)
        network[i] = (int *)malloc(sizeof(int) * node);

    for(i=0; i<node; i++)
        for(j=0; j<node; j++)
            network[i][j]=0;

    srand(times(NULL));

    for(i=0; i<=link; i++)
    {
        num1=rand()%node;
        num2=rand()%node;

        if(network[num1][num2]!=0 && network[num2][num1]!=0 && num1!=num2)
            i--;
        else
        {
            network[num1][num2]=1;
            network[num2][num1]=1;
        }
    }
    for(i=0; i<node; i++)
    {
        for(j=0; j<node; j++)
            printf("%d", network[i][j]);
        printf("\n");
    }

    free(network);
    return 0;
}


Posted by blindfish