Найти ошибку в коде вычисления функции - C (СИ) (74220)

Формулировка задачи:

Помогите пожалуйста исправить код, моя программа пишет что в коде все правильно, но нехочит принимать решение... Это мой код...
C
#include <stdio.h>
 
int func(int x[], int size, int y[], int k) {
    int cnt = 0;
 
    while (size-- > 0) {
        if (k % *x == 0) {
            *y++ = *x;
            cnt++;
        }
        x++;
    }
 
    return cnt;
}
 
int main() {
    int x[10] = {4, 7, 10, 2, 3, 9, 6, 5, 8, 12};
    int y[10];
    int pocetx = 10, pocety, i;
 
    pocety = func(x, pocetx, y, 24);
 
    printf("pocety: %d\ny: {", pocety);
    for (i = 0; i < pocety; ++i) {
        printf("%d, ", y[i]);
    }
    printf("%s}\n", pocety ? "\b\b" : "");
 
    return 0;
}
А вот что мне выводит программа... Помогите пожалуйста исправить єтот код.... Нужно что бы было вот так... Пример вызова: x = {4, 7, 10, 2, 3, 9, 6, 5, 8, 12} pocetx = 10 pocety = delitele(x, pocetx, y, 24); // вызов funkcie pocety: 6 // вывод y: {4, 2, 3, 6, 8, 12} Заранее спасибо!!!

Код к задаче: «Найти ошибку в коде вычисления функции - C (СИ) (74220)»

textual
//line: 23
    printf("pocety: %d\ny: {", pocety);
    for (i = 0; i < pocety; ++i) {
        printf("%d%s", y[i], (pocety - i > 1) ? ", " : "");
    }
    printf("}\n");

10   голосов, оценка 4.200 из 5


СОХРАНИТЬ ССЫЛКУ