#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define size_B 10
#define max_T 100
#define min_V 500
#define max_V 1000
int double_Arrays[size_B][size_B];
int tab_First[max_T];
int main_Values[size_B];
int sum_Array(int *tab, int size)
{
 int i,sum;
 sum=0;
 for(i=0;i<size;i++)
  sum+=tab[i];
 return sum;
}
void ins_Sort(int *tab,  int size)
{
 int i,j,k;
 for(i=1;i<size;i++)
 {
  j=i;
  k=tab[j];
  while((j>0) && (tab[j-1]>k))
  {
   tab[j]=tab[j-1];
   j--;
  }
  tab[j]=k;
 }
}
int is_First(int value)
{
 int i,sum;
 sum=0;
 for(i=1;i<value+1;i++)
  if(value%i==0)
   ++sum;
    if(sum==2)
     return 1;
    else
     return 0;
     
}
void init_Tab()
{
 int i,j;
 i=0;
 j=2;
 do
 {
  if(is_First(j))
  {
   tab_First[i]=j;
   ++i;
  }
  ++j;
  
 }while(i<max_T);
 for(i=0;i<size_B;i++)
 {
  main_Values[i]=rand()%(max_V-min_V)+min_V;
 }
 ins_Sort(main_Values,size_B);
}
void run_Arrays()
{
 int i,j,k,l;
 i=0;
 do
 {
   do
   { 
  for(j=0;j<size_B;j++)
  {
   k=rand()%max_T;
   l=tab_First[k];
   double_Arrays[i][j]=l;
      }
  } while(sum_Array(double_Arrays[i],size_B)!=main_Values[i]);
  ++i;
 }while(i<size_B);
 for(i=0;i<size_B;i++)
 {
  ins_Sort(double_Arrays[i],size_B);
 }
}
int main(int argc, char **argv)
{
 int i,j;
 srand(time(NULL));
 init_Tab();
 run_Arrays();
 printf("Drawn 10 numbers: (500-1000)\n");
 for(i=0;i<size_B;i++)
 {
  printf("%d  ",main_Values[i]);
 }
 printf("\n\n");
 
 printf("The sum of the ten prime numbers: ");
 printf("\n");
 i=0;
 do
 {
  for(j=0;j<size_B;j++)
  {
   printf("%d  ",double_Arrays[i][j]);
  }
  printf("\n");
  ++i;
 }while(i<size_B);
 
 return 0;
}
Brak komentarzy:
Prześlij komentarz