Advertisement
Guest User

Untitled

a guest
May 28th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.34 KB | None | 0 0
  1. Поголем максимум Problem 1 (0 / 12)
  2. Од стнадарден влез се чита цел број N не поголем од 100 кој претставува број на елементи на низата a. Потоа се читаат содветно елементите на низата a. Потоа се чита цел број M не поголем од 100 кој претставува број на елементи на низата b и содветно се читаат елементите на низата b.
  3.  
  4. Треба да се креира нова низа c на следниот начин: првиот елемент е поголемиот од максимумите во двете низи; вториот елемент е поголемиот од максимумите на последните n/2 елементи од низата a и последните m/2 елементи од низата b; третиот елемент е поголемиот од максимумите на последните n/4 елементи од низата a и последните m/4 елементи од низата b итн се додека низите имаат елементи. Итерацијата завршува кога барем кај една од низите n/k или m/k стане 0 (k={2,4,8,16,...})
  5.  
  6. На стандарден излез да се испечати новодобиената низа c.
  7.  
  8. Наоѓањето максимум во низа да се реализира со посебна рекурзивна функција
  9. #include<stdio.h>
  10. int MAX(int a[], int n, int i, int max)
  11. {
  12.     if(i==n)
  13.         return max;
  14.    
  15.     if(a[i]>max)
  16.         max=a[i];
  17.     return MAX(a,n,i+1,max);
  18.  
  19. }
  20. int main()
  21. {
  22.     int a[100],b[100],c[100];
  23.     int j=0,i,m,n;
  24.    
  25.     scanf("%d",&n);
  26.     for(i=0; i<n; i++)
  27.     {
  28.         scanf("%d",&a[i]);
  29.     }
  30.     scanf("%d",&m);
  31.     for(i=0; i<m; i++)
  32.     {
  33.         scanf("%d",&b[i]);
  34.     }
  35.       // scanf("%d",&k);
  36.    
  37.     while(n>0&&m>0) {
  38.         int a1,b1;
  39.         a1=MAX(a, n, 0, a[0]);
  40.          b1=MAX(b, m, 0, b[0]);
  41.     if(a1>b1)
  42.     c[j]=a1;
  43.         else c[j]=b1;
  44.         j++;
  45.        n= n/2;
  46.        m= m/2;
  47.        
  48.     }
  49.     for(i=0;i<j;i++)
  50.     {
  51.         printf("%d ",c[i]);
  52.     }
  53.     return 0;
  54.    
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement