Работа с текстовыми документами в С(Си) - C (СИ) (152684)
Формулировка задачи:
Написать функция
Вызов вункции:
int delitele(int x[], int pocetx, int y[], int k)
, от которых полеX
копируются в массив с всех делителей числа, в том порядке, как найдено в массивеX
и возвращает количество элементов массиваY
. Pocetx аргумент задает количество элементов массиваX
. Можно предположить, что аргументY
, будет достаточного размера, чтобы быть делителей чисел, которые находятся в массивеX
.C |
x = {4, 7, 10, 2, 3, 9, 6, 5, 8, 12} pocetx = 10 pocety = delitele(x, pocetx, y, 24);
Вывод:pocety: 6 y: {4, 2, 3, 6, 8, 12}
Моя функция вроде все выводит, но программа не принемает Возможно ли как то по другому записать ее, я не понимаю что нужно изменить в моей функции или как подругому ее записать Заранее спасибо!!!Решение задачи: «Работа с текстовыми документами в С(Си)»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int get_del(int *x, int n, int *y, int del) { int m = 0, i; for (i = 0; i < n; i++) if (del % x[i] == 0) y[m++] = x[i]; return m; } int main(int argc, char **argv) { int n, i, *x, *y, m, del; printf("Input size of array:"); scanf("%i", &n); printf("Input K:"); scanf("%i", &del); printf("Input array:\n"); x = (int*)calloc(n, sizeof(int)); y = (int*)calloc(n, sizeof(int)); for (i = 0; i < n; i++) { scanf("%i", &x[i]); } m = get_del(x, n, y, del); if (m > 0) { printf("pocety: %i\ny: {%i", m, y[0]); for (i = 1; i < m; i++) printf(", %i", y[i]); printf("}\n"); } free(x); free(y); return 0; }
Объяснение кода листинга программы
- В функции
get_del
идет поиск делителей числаdel
в массивеx
. Если делитель найден, его значение сохраняется в массивеy
. - В функции
main
создается массивx
заданного размера, который заполняется числами с клавиатуры. - Затем создается массив
y
такого же размера, как иx
, и инициализируется нулями. - После этого вызывается функция
get_del
, которая находит все делители числаdel
в массивеx
и сохраняет их в массивеy
. - Если делители найдены, выводится сообщение с их количеством и первым делителем.
- Затем выводится список найденных делителей.
- В конце программы освобождаются выделенные под массивы памяти.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д