Поменять местами максимальный и последний отрицательный элементы массива А (40) - C (СИ)

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

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

1. Поменять местами максимальный и последний отрицательный элементы массива А (40).

Решение задачи: «Поменять местами максимальный и последний отрицательный элементы массива А (40)»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define N 40
  6. int max_elem_idx(int *arr, int sz);
  7. void input_array (int *A, int A_size);
  8. void print_array (int *A, int A_size);
  9.  
  10. int main ()
  11. {
  12.     int i;
  13.     int A[N];
  14.     srand(time(0));
  15.     input_array(A, N);
  16.     puts("\nbefore");
  17.     print_array(A, N);
  18.     for(i=N-1; i!=0;--i)
  19.         if(A[i]<0){
  20.             int tmp=A[i];
  21.             A[i]=A[max_elem_idx(A, N)];
  22.             A[max_elem_idx(A, N)]=tmp;
  23.             break;
  24.             }
  25.     puts("\nafter:");
  26.     print_array(A, N);
  27.     return 0;
  28. }
  29. int max_elem_idx(int *arr, int sz){
  30.     int i=0;
  31.     int idx=i;
  32.     for(i=1; i<sz;++i){
  33.         if (arr[idx]<arr[i])
  34.             idx=i;
  35.     }
  36.     return idx;
  37. }
  38.    
  39.  
  40. void input_array (int *A, int A_size)
  41. {
  42.     int i;
  43.     int a=-100;
  44.     int b=100;
  45.     for(i=0; i<A_size; i++)
  46.     {
  47.         A[i]=a+rand()%(b-a+1);
  48.     }
  49. }
  50.  
  51. void print_array(int *A, int A_size)
  52. {
  53.     for(int i=0; i<A_size; i++)
  54.     {
  55.         printf("%4d", A[i]);
  56.         //printf("\n");
  57.     }
  58.     puts("");
  59. }

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

  1. Включаем необходимые заголовочные файлы для работы с I/O и обеспечения рандомизации инициализации массива
  2. Определяем размер массива N
  3. Объявляем функцию max_elem_idx, которая находит индекс максимального элемента в массиве
  4. Объявляем функцию input_array, которая заполняет массив случайными числами
  5. Объявляем функцию print_array, которая выводит массив на экран
  6. В функции main генерируем случайные значения для массива, выводим его на экран
  7. Меняем местами максимальный и последний отрицательный элементы массива
  8. Выводим измененный массив на экран
  9. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы