Поменять местами максимальный и последний отрицательный элементы массива А (40) - C (СИ)
Формулировка задачи:
1. Поменять местами максимальный и последний отрицательный элементы массива А (40).
Решение задачи: «Поменять местами максимальный и последний отрицательный элементы массива А (40)»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 40 int max_elem_idx(int *arr, int sz); void input_array (int *A, int A_size); void print_array (int *A, int A_size); int main () { int i; int A[N]; srand(time(0)); input_array(A, N); puts("\nbefore"); print_array(A, N); for(i=N-1; i!=0;--i) if(A[i]<0){ int tmp=A[i]; A[i]=A[max_elem_idx(A, N)]; A[max_elem_idx(A, N)]=tmp; break; } puts("\nafter:"); print_array(A, N); return 0; } int max_elem_idx(int *arr, int sz){ int i=0; int idx=i; for(i=1; i<sz;++i){ if (arr[idx]<arr[i]) idx=i; } return idx; } void input_array (int *A, int A_size) { int i; int a=-100; int b=100; for(i=0; i<A_size; i++) { A[i]=a+rand()%(b-a+1); } } void print_array(int *A, int A_size) { for(int i=0; i<A_size; i++) { printf("%4d", A[i]); //printf("\n"); } puts(""); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O и обеспечения рандомизации инициализации массива
- Определяем размер массива N
- Объявляем функцию max_elem_idx, которая находит индекс максимального элемента в массиве
- Объявляем функцию input_array, которая заполняет массив случайными числами
- Объявляем функцию print_array, которая выводит массив на экран
- В функции main генерируем случайные значения для массива, выводим его на экран
- Меняем местами максимальный и последний отрицательный элементы массива
- Выводим измененный массив на экран
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д