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

помогите написать программу на языке Си: В одномерном массиве целых чисел заменить максимальное значение минимальным.

Что не получается?
Выкладывайте свой код.
Нет кода - обращайтесь в личку.
ДИ
Дум Илтов
5 321
Лучший ответ
#include <stdio.h>
#include <limits.h>
int * imax(int *, int);
int * imin(int *, int);
void swap(int *, int *);
void print(int *, int);
int main() {
    int a[] = { 8, 13, 2, 9, 4, 7, 1, 12, 6 };
    int size = sizeof(a) / sizeof(a[0]);
    print(a, size);
    swap(imax(a, size), imin(a, size));
    print(a, size);
    getchar();
    return 0;
}
void swap(int * a, int * b) {
    int tmp = *a;
    *a = *b;
    *b = tmp;
}
void print(int * v, int sz) {
    for (int n = 0; n < sz; ++n) printf("%3i", v[n]);
    printf("\n");
}
int * imax(int * v, int sz) {
    int max = v[0];
    int * ptr = &v[0];
    for (int n = 0; n < sz; ++n) {
        if (max < v[n]) {
            max = v[n];
            ptr = &v[n];
        }
    }
    return ptr;
}
int * imin(int * v, int sz) {
    int min = v[0];
    int * ptr = &v[0];
    for (int n = 0; n < sz; ++n) {
        if (min > v[n]) {
            min = v[n];
            ptr = &v[n];
        }
    }
    return ptr;
}
Зачем учить С если не хочешь его учить?

Похожие вопросы