Замена в массиве

Даны целые числа A1, A2, A3,..., An, каждое из которых отлично от нуля. Поменять местами наибольший член последовательности и член с номером M.

Метод решения

Задаем первоначальный массив случайными числами. Находим максимальный элемент, сравнивая каждый элемент массива с переменной, в которую присваиваем максимальный элемент. Задаем номер элемента для замены. Зная индекс максимального и заданного элемента, меняем их местами через промежуточную переменную.

Программа

#include <stdio.h>     // подключаем библиотеки
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
 
const n = 10;
 
void main(){
 clrscr();
 int A[n];
 int i, iM, Nm;
 int M, b;
 
 for (i = 0; i < n; i++ ){  // задаем первоначальный массив
   A[i] = random(100);
   cout << A[i] << ′ ′;
 }
 cout << endl;
 
 M = A[0];
 iM = 0;
 for (i = 1; i<n; i++){  //находим макимальный элемент
   if (A[i] > M){
     M  = A[i];    // максимальные элемент
     iM = i;       // его номер в массиве
   }
 }
 
 cout << "Enter number for replace: ";
 cin >> Nm;
 b = A[iM];    //производим замену
 A[iM] = A[Nm];
 A[Nm] = b;
 for (i = 0; i < n; i++)  // печатаем в нужном порядке
   cout << A[i] << ′ ′;
}

Результат работы программы

1 0 33 3 35 21 53 19 70 94
Enter number for replace: 3
1 0 33 94 35 21 53 19 70 3

Ключевые слова: 
массив, максимальный член последовательности, наибольший элемент массива