Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- typedef struct valores{
- int maior;
- int menor;
- }valores;
- valores max_min, max_min1, max_min2;
- void encontra(int *v,int n, valores max_min)
- {
- int i, j;
- int v1[n/2];
- int v2[n/2];
- if( n == 2 )
- {
- if(v[0] > v[1])
- {
- max_min.maior = v[0];
- max_min.menor = v[1];
- }else{
- max_min.maior = v[1];
- max_min.menor = v[0];
- }
- return;
- }else{
- for( i = 0; i <n/2; i++)
- {
- v1[i] = v[i];
- }
- j = 0;
- for( i = n/2; i < n; i++)
- {
- v2[j++] = v[i];
- }
- encontra(v1, n/2, max_min1);
- encontra(v2, n/2, max_min2);
- if(max_min1.maior>max_min2.maior)
- {
- max_min.maior = max_min1.maior;
- }else{
- max_min.maior = max_min2.maior;
- }
- if(max_min1.menor>max_min2.menor)
- {
- max_min.menor = max_min1.menor;
- }else{
- max_min.menor = max_min2.menor;
- }
- return;
- }
- }
- int main()
- {
- int i;
- int aux;
- scanf("%d",&aux);
- int v[aux];
- srand ( time(NULL) );
- for(i = 0; i < aux; i++)
- {
- v[i] = rand() % 100;
- printf(" %d\n",v[i]);
- }
- encontra(v,aux,max_min);
- printf("maior %d menor %d\n",max_min.maior,max_min.menor);
- return 0;
- }
Add Comment
Please, Sign In to add comment