Помогите, пожалуйста! На С++, использовать цикл for.
В массиве A элементов из диапазона [-15;20] найти последний максимальный элемент и поменять местами c первым положительным элементом.
Ответы
Ответ:
#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;
}