Другие языки программирования и технологии

Пожалуйста, ктол может объяснитеб как написать программу на языке Си по этой задаче. С чего начать????

Для каждого из заданных целочисленных массивов X[N], Y[M], Z[K] вычислить произведение элементов кратных 5 и найти максимальное из них. N=10
M=12
K=16Вычисление произведения элементов кратных 5 оформить в виде функции
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

#define N 10
#define M 12
#define K 16
#define maximum(a, b) ((a) > (b) ? (a) : (b))

int multiply5(int *, size_t);
void get_array(int *, size_t);
void show_array(int *, size_t);

int main() {
    int x[N], y[M], z[K], xx, yy, zz, mx;
    srand((unsigned)time(NULL));

    get_array(x, N);
    show_array(x, N);
    xx = multiply5(x, N);
    printf("Max(x) = %i\n", xx);

    get_array(y, M);
    show_array(y, M);
    yy = multiply5(y, M);
    printf("Max(y) = %i\n", yy);

    (z, K);
    show_array(z, K);
    zz = multiply5(z, K);
    printf("Max(z) = %i\n", zz);

    mx = maximum(maximum(xx, yy), zz);
    printf("Max(x,y,z) = %i\n", mx);

    _getch();
    return 0;
}

int multiply5(int * ptr, size_t sz) {
    int mult = 1;
    size_t n;

    for (n = 0; n < sz; n++)
        if (!(ptr[n] % 5))
            mult *= ptr[n];

    return mult;
}

void get_array(int * ptr, size_t sz) {
    size_t n;

    for (n = 0; n < sz; n++)
        ptr[n] = 5 + rand() % 21;
}

void show_array(int * ptr, size_t sz) {
    size_t n;

    for (n = 0; n < sz; n++)
        printf("%4i", ptr[n]);
    printf("\n");
}
АИ
Айтбулат Ибраев
81 467
Лучший ответ
Начни с того, что открой учебник.. . или конспект, что у вас там.
function вычислитьЧтоНужноДляМассива (массив) {
var произведение = 1;
for(var i=0; i<длина_массива; i++) if(массив [i] % 5 == 0) произведение *= массив [i];
return произведение;
}
// для максимального числа аналогично составляешь функцию, или можно вычислить все в одной функции и вернуть результат в виде массива/объекта
// потом для каждого массива вызываешь эту функцию

// как-то так