Advertisement
brsjak

Помал Минимум

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