Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.28 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int nasobky(int *, int *, int, int);
  5.  
  6. int main(void)
  7. {
  8.     int *x, *y, n, k, pocet;
  9.  
  10.     /* nacita pocet prvkov */
  11.     printf("zadaj pocet prvkov pola\n");
  12.     scanf("%d", &n);
  13.  
  14.     /* nacita cisla k */
  15.     printf("zadaj k\n");
  16.     scanf("%d", &k);
  17.  
  18.     /* alokuje pole */
  19.     if ( (x = (int *) malloc(n * sizeof(int))) == NULL )
  20.     {
  21.         printf("\007CHYBA! Malo pamate!\n");
  22.         exit(1);
  23.     }
  24.  
  25.     /* volanie funkcie */
  26.     pocet= nasobky(x, y, n, k);
  27.  
  28.  
  29.     printf("nasobky: %d\n", pocet);
  30.  
  31.     return 0;
  32. }
  33.  
  34. int nasobky(int *x, int *y, int n, int k)
  35. {  
  36.     int i, j, nasobky;
  37.  
  38.     j = 0;
  39.     nasobky = 0;
  40.  
  41.     /* nacitanie pola a zistenie poctu parnych */
  42.     for (i = 0; i < n; i++)
  43.     {
  44.         scanf("%d", x + i);
  45.    
  46.         if ( (*(x + i) % k) == 0)
  47.             nasobky++;
  48.     }
  49.  
  50.     /* alokuje pole pre y */
  51.     if ( (y = (int *) malloc(nasobky * sizeof(int))) == NULL)
  52.     {
  53.         printf("\007CHYBA! Malo pamate!\n");
  54.         exit(1);
  55.     }
  56.  
  57.     /* skopiruje nasobky do pola y */
  58.     for (i = 0; i < n; i++)
  59.     {
  60.         if ( (*(x + i) % k) == 0)
  61.         {
  62.             *(y + j) = *(x + i);
  63.            
  64. /*          printf("i:%d x:%d j:%d y:%d\n", i, *(x + i), j, *(y + j) );*/
  65.            
  66.             j++;
  67.         }
  68.     }
  69.    
  70. /*  printf("\nj: %d\n", j);*/
  71.  
  72.     /* vypis pola y */
  73.     for (i = 0; i < nasobky; i++)
  74.     {
  75.         printf("%d ", *(y + i));
  76.     }
  77.     putchar('\n');
  78.  
  79.     return j;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement