Пример #1
0
int main()  
{
    int L1 = 500, L2=500, n;  
    
    /*printf("Enter the number of sensor nodes\n");
    scanf("%d", &n);
    */
    n=600;
    FILE *fp2;
    fp2=fopen("deployment_201506511.txt", "w");
    if(fp2==NULL) 
      {
        perror("Error opening file.");
      }
    
    FILE *fp1;
    fp1=fopen("name.gp", "w");
    char string[10000] = "plot[0:500][0:500] \"";
    strcat(string, "deployment_201506511.txt");
    strcat(string, "\" every ::1 using 1:2");
    fprintf(fp1,"%s", string);
    fclose(fp1); 
    
    generating_random_numbers(n, fp2);
    finding_neighbour_sensor_nodes(n);
    //printing_neighbour_list(n);


    //Finding primitive root of Finite Field GF(q) where q is large prime
    int k=4;
    long long int primitive_root_g, q;
    bool value = false;
    while(value!=true)
    {
      q = oddrand(1, 10000);
      value = isPrime(q, k);
      if(value==true)
        {
          primitive_root_g=finding_primitive_root(q);
        }

    }
    printf("Primitie Root: %lld, Prime Number: %lld\n", primitive_root_g, q);
    creation_of_matrixG(primitive_root_g, 600, q);
   // printing_matrixG(matrix_G, 600, 100);

    matrix_D_generation(100, q);
    multiply_matrics_matrix_Dmatrix_G(100, 600, q);
    creation_of_matrixK_multiplyAG(100, 600, q);
    
    system("gnuplot -p 'name.gp'");     
    return 0;
}
int main( int argc, char *argv[] )  
{
	if(argc==4)
	{
	printf("Enter the no of sensor nodes\n");
	int argument_2,argument_3;
	char argument_1[100],string[10000]="plot[0:500][0:500] \"";
	memset(argument_1, '\0', sizeof(argument_1));
	strcpy(argument_1,argv[1]);
	strcat(string, argument_1);
  strcat(string, "\" every ::1 using 1:2");
	scanf("%d",&n);
	FILE *fp1;
    fp1=fopen("kalpish", "w");
    fprintf(fp1,"%s", string);
    fclose(fp1);
    //fprintf(fp1,"%s", string);
	FILE *fp;
    fp=fopen(argument_1, "w");
    if(fp==NULL) 
      {
        perror("Error opening file.");
      }
    argument_2=atoi(argv[2]);
    argument_3=atoi(argv[3]);  
    generating_random_numbers(argument_2,fp,argument_3);
    finding_physical_and_key_neighbours(argument_2);
    //printing_sensor_nodes(argument_2);
    simulating_path_key_establishment(argument_2,argument_3);
    finding_network_connectivity(argument_2,argument_3);
    }

    else
    {
    	printf("invalid number of arguments\n");
    	exit(0);
    }
	system("gnuplot -p 'kalpish'"); 
}
int main()  
{
    int L1 = 500, L2=500;  
    FILE *fp2;
    fp2=fopen("deployment_201506511.txt", "w");
    if(fp2==NULL) 
      {
        perror("Error opening file.");
      }
    
    FILE *fp1;
    fp1=fopen("name.gp", "w");
    char string[10000] = "plot[0:500][0:500] \"";
    strcat(string, "deployment_201506511.txt");
    strcat(string, "\" every ::1 using 1:2");
    fprintf(fp1,"%s", string);
    fclose(fp1); 
    
    generating_random_numbers(totalnodes, fp2);
    finding_neighbour_sensor_nodes(totalnodes);
    //printing_neighbour_list(n);


    //Finding primitive root of Finite Field GF(q) where q is large prime
    int k=10;
    long long int primitive_root_g, q;
    bool value = false;
    while(value!=true)
    {
      q = oddrand(qmin, qmax);
      value = isPrime(q, k);
      if(value==true)
        {
          primitive_root_g=finding_primitive_root(q);
        }

    }
    printf("Primitie Root Genarated : %lld, For Prime Number: %lld\n", primitive_root_g, q);
    creation_of_matrixG(primitive_root_g, totalnodes, q);
    printing_matrixG(matrix_G, 600, 100);

    matrix_D_generation(lambda_value, q);
    multiply_matrics_matrix_Dmatrix_G(lambda_value, totalnodes, q);
    creation_of_matrixK_multiplyAG(lambda_value, totalnodes, q);


    //Writing NEIGHBOUR LIST TO FILE
     FILE *fp3;
     fp3=fopen("keys.txt", "w");
     int i, j;
     fprintf(fp3, "Physical Neighout List of Sensor Nodes\n");
    for(i=0; i<totalnodes; i++)
    {
         fprintf(fp3, "NL%d : ", i);
         for(j=0; j<sensor_node[i].neighbour_size; j++)
          {
            fprintf(fp3, "%d ", sensor_node[i].phynbr[j]);
          }
          fprintf(fp3, "\n");
    }
    fprintf(fp3, "\n");
    fprintf(fp3, "Key Neighbours : Key(i,j) of Sensor Nodes\n");

    for(i=0; i<totalnodes; i++)
    {
         fprintf(fp3, "Key(i,j) %d : ", i);
         for(j=0; j<sensor_node[i].neighbour_size; j++)
          {
            fprintf(fp3, "%lld ", matrix_K[i][sensor_node[i].phynbr[j]]);
          }
          fprintf(fp3, "\n");
    }

    fclose(fp3);
    system("gnuplot -p 'name.gp'");     
    return 0;
}