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

Программисты, знающие язык С, помогите.

Даны массивы чисел. Размеры массивов заданы в варианте. Требуется в каждом массиве найти наибольший и наименьший элементы и напечатать их, затем все компоненты каждого массива возвести в квадрат и снова найти наибольший и наименьший элементы. Вычисление максимальной и минимальной величин оформить в виде функции.

Ввести и обработать два массива, содержащие соответственно 4 и 6 вещественных компонентов.

я не могу вычисление максимума и минимума в виде функции оформить. Напишите хотя бы ФУНКЦИЮ плиз. А лучше, если не трудно, то прогу полностью)
float max(float a, int n){
float max=0
for (int i=0;i < n; i++)
if (max > a [ i ] ) max=a [ i ];
return max;
}
float min(float a, int n){
float min=0
for (int i=0;i < n; i++)
if (min > a [ i ] ) min=a [ i ];
return min;
}
Виталий Кирей
Виталий Кирей
35 594
Лучший ответ
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>

#define N1 4
#define N2 6

void create_arr(double *, size_t);
void show_arr(double *, size_t);
double max_arr(double *, size_t);
double min_arr(double *, size_t);
void pow_arr(double *, size_t, int);

int main() {
    double a1[N1], a2[N2];

    create_arr(a1, N1);
    show_arr(a1, N1);
    printf("max1 = %Lf\n", max_arr(a1, N1));
    printf("min1 = %Lf\n\n", min_arr(a1, N1));
    pow_arr(a1, N1, 2);
    show_arr(a1, N1);

    create_arr(a2, N2);
    show_arr(a2, N2);
    printf("max2 = %Lf\n", max_arr(a2, N2));
    printf("min2 = %Lf\n\n", min_arr(a2, N2));
    pow_arr(a2, N2, 2);
    show_arr(a2, N2);

    _getch();
    return 0;
}

void create_arr(double * arr, size_t size) {
    size_t n;

    for (n = 0; n < size; n++) {
        printf("a[%d] - > ", n);
        scanf_s("%Lf", &arr[n]);
    }

    system("cls");
}

void show_arr(double * arr, size_t size) {
    size_t n;

    for (n = 0; n < size; n++)
        printf(" a[%d] = %.3Lf\n", n, arr[n]);

    printf("\n");
}

double max_arr(double * arr, size_t size) {
    size_t n;
    double max = arr[0];

    for (n = 1; n < size; n++)
        if (arr[n] > max)
            max = arr[n];

    return max;
}

double min_arr(double * arr, size_t size) {
    size_t n;
    double min = arr[0];

    for (n = 1; n < size; n++)
        if (arr[n] < min)
            min = arr[n];

    return min;
}

void pow_arr(double * arr, size_t size, int k) {
    size_t n;

    for (n = 0; n < size; n++)
        arr[n] = pow(arr[n], k);
}
IK
Islom Kandagalov
57 049
ну как-то так.. . давно на си не программил, так что ошибки гарантирую
function max ( arrs ) {
int max = -500;
for ( int i=0; i < count( arrs ) ; i++) if ( arrs ( i ) > max ) max = arrs ( i );
return max;
}
Едик Шевченко
Едик Шевченко
34 293
обозначь первый элемент массива наименьшим. потом сравнивай с помощью цикла каждый следующий элемент с наименьшим. если он меньше, то присвой значение этого числа наименьшему значению.
следующие действия осуществляются с помощью циклов примерно так же.
AS
Askhat Spanov
4 616