Попарный обмен местами между максимальными и минимальными значениями в массиве - C (СИ)

Узнай цену своей работы

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

народ кто может,подсказать что не так со схемой? вот код
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
const int N=80;
int a[N], i=0, temp, i_max=0, i_min=0;
srand(time(NULL));
for (i=0; i<N; i++)
{
    a[i]=rand()%100 +1;
    printf("%d ",a[i]);
}
 for (i=1; i<N; i++)
 {
     if (a[i]>a[i_max])
         i_max=i;
     if (a[i]<a[i_min])
         i_min=i;
 }
 temp=a[i_max]; a[i_max]=a[i_min]; a[i_min]=temp;
 printf("\n\n");
for (i=0; i<N; i++)
{
    printf("%d ",a[i]);
}
 
return 0;
}

Решение задачи: «Попарный обмен местами между максимальными и минимальными значениями в массиве»

textual
Листинг программы
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <limits.h>
 
int main() {
 
    const int N = 80;
    int a[N], i = 0, temp, i_max = 0, i_min = INT_MAX;
    int p_max, p_min; /* позиции в массиве */
 
    srand(time(NULL));
 
    for (i = 0; i < N; i++) {
        a[i] = rand() % 100 + 1;
        printf("%d ", a[i]);
    }
 
    for (i = 1; i < N; i++) {
        if (a[i] > i_max) {
            i_max = a[i];
            p_max = i;
        }
        if (a[i] < i_min) {
            i_min = a[i];
            p_min = i;
        }
    }
 
    temp = a[p_max];
    a[p_max] = a[p_min];
    a[p_min] = temp;
 
    printf("\n\n");
 
    for (i = 0; i < N; i++) {
        printf("%d ", a[i]);
    }
 
    return 0;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы
  2. Объявляем переменные:
    • N - размер массива
    • a - массив для хранения чисел
    • i - счётчик для заполнения массива числами
    • temp - временная переменная для обмена значениями
    • i_max - индекс максимального значения в массиве
    • i_min - индекс минимального значения в массиве
    • p_max - позиция максимального значения в массиве
    • p_min - позиция минимального значения в массиве
  3. Инициализируем генератор случайных чисел
  4. Заполняем массив случайными числами от 1 до 100 и выводим их на экран
  5. Находим индексы минимального и максимального значений в массиве
  6. Меняем местами значения по найденным индексам
  7. Выводим обновлённый массив на экран
  8. Возвращаем 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы