Предмет: Информатика, автор: yuliyagane

Помогите, пожалуйста! На С++, использовать цикл for.

В массиве A элементов из диапазона [-15;20] найти последний максимальный элемент и поменять местами c первым положительным элементом.

Ответы

Автор ответа: ober555
1

Ответ:

#include <iostream>

#include <string>

using std::cout;

using std::cin;

using std::endl;

int main()

{

   setlocale(LC_ALL, "rus");

   int N, max, first, imax, ifirst;

   cout << "Размер массива " << endl;

   cin >> N;

   

   int Arr[N];

   cout << "Вводим числа массива " << endl;

   

   for (int i=0; i < N; i++)

   {

       cin >> Arr[i];      

// здесь если надо проверку сделай

   }

       for(int i=0; i<N; i++)

   {  

       if(Arr[i]> 0 )

       {

           first=Arr[i];

           ifirst=i;

       break;

   }

   }

max = Arr[0];

   for (int i=0; i<N; i++)

   {

       if (Arr[i] > max)

       {

           max = Arr[i];

           imax=i;

       }

   }

   cout << "1й положительный " << first << endl;

   cout << "Максимум " << max << endl;

   

   int tmp = Arr[imax];

   Arr[imax] = Arr[ifirst];

   Arr[ifirst] = tmp;

        for (int i = 0; i < N; i++)

   {

       cout << Arr[i] << endl;

   }

       return 0;  

}

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