Guest User

Untitled

a guest
Jul 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. typedef struct valores{
  6. int maior;
  7. int menor;
  8. }valores;
  9.  
  10. valores max_min, max_min1, max_min2;
  11.  
  12.  
  13.  
  14. void encontra(int *v,int n, valores max_min)
  15. {
  16. int i, j;
  17. int v1[n/2];
  18. int v2[n/2];
  19.  
  20.  
  21. if( n == 2 )
  22. {
  23. if(v[0] > v[1])
  24. {
  25. max_min.maior = v[0];
  26. max_min.menor = v[1];
  27. }else{
  28. max_min.maior = v[1];
  29. max_min.menor = v[0];
  30. }
  31. return;
  32.  
  33. }else{
  34. for( i = 0; i <n/2; i++)
  35. {
  36. v1[i] = v[i];
  37. }
  38.  
  39. j = 0;
  40. for( i = n/2; i < n; i++)
  41. {
  42. v2[j++] = v[i];
  43. }
  44. encontra(v1, n/2, max_min1);
  45. encontra(v2, n/2, max_min2);
  46.  
  47. if(max_min1.maior>max_min2.maior)
  48. {
  49. max_min.maior = max_min1.maior;
  50. }else{
  51. max_min.maior = max_min2.maior;
  52. }
  53.  
  54. if(max_min1.menor>max_min2.menor)
  55. {
  56. max_min.menor = max_min1.menor;
  57. }else{
  58. max_min.menor = max_min2.menor;
  59. }
  60. return;
  61. }
  62. }
  63.  
  64.  
  65.  
  66.  
  67.  
  68. int main()
  69. {
  70. int i;
  71. int aux;
  72. scanf("%d",&aux);
  73.  
  74. int v[aux];
  75.  
  76. srand ( time(NULL) );
  77.  
  78. for(i = 0; i < aux; i++)
  79. {
  80. v[i] = rand() % 100;
  81. printf(" %d\n",v[i]);
  82. }
  83.  
  84.  
  85. encontra(v,aux,max_min);
  86.  
  87. printf("maior %d menor %d\n",max_min.maior,max_min.menor);
  88.  
  89.  
  90. return 0;
  91. }
Add Comment
Please, Sign In to add comment