Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int nasobky(int *, int *, int, int);
- int main(void)
- {
- int *x, *y, n, k, pocet;
- /* nacita pocet prvkov */
- printf("zadaj pocet prvkov pola\n");
- scanf("%d", &n);
- /* nacita cisla k */
- printf("zadaj k\n");
- scanf("%d", &k);
- /* alokuje pole */
- if ( (x = (int *) malloc(n * sizeof(int))) == NULL )
- {
- printf("\007CHYBA! Malo pamate!\n");
- exit(1);
- }
- /* volanie funkcie */
- pocet= nasobky(x, y, n, k);
- printf("nasobky: %d\n", pocet);
- return 0;
- }
- int nasobky(int *x, int *y, int n, int k)
- {
- int i, j, nasobky;
- j = 0;
- nasobky = 0;
- /* nacitanie pola a zistenie poctu parnych */
- for (i = 0; i < n; i++)
- {
- scanf("%d", x + i);
- if ( (*(x + i) % k) == 0)
- nasobky++;
- }
- /* alokuje pole pre y */
- if ( (y = (int *) malloc(nasobky * sizeof(int))) == NULL)
- {
- printf("\007CHYBA! Malo pamate!\n");
- exit(1);
- }
- /* skopiruje nasobky do pola y */
- for (i = 0; i < n; i++)
- {
- if ( (*(x + i) % k) == 0)
- {
- *(y + j) = *(x + i);
- /* printf("i:%d x:%d j:%d y:%d\n", i, *(x + i), j, *(y + j) );*/
- j++;
- }
- }
- /* printf("\nj: %d\n", j);*/
- /* vypis pola y */
- for (i = 0; i < nasobky; i++)
- {
- printf("%d ", *(y + i));
- }
- putchar('\n');
- return j;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement