переделать код, чтобы искало два максимальных элемента (в данном коде ищет максимальный и минимальный элементы) #include
#include
using namespace std;
int main()
{
setlocale(LC_ALL,"RU");
srand(time(NULL));
int a[10];
printf("массив");
for (int i = 0; i < 10; i++){
a[i] = -15 + (rand() % 26);
printf("%d ", a[i]);}
int min = a[0], max = 0, n, m;
for (int i = 0; i < 10; i++){
if (a[i] > max){
max = a[i];
n = i;}
if (a[i] < min){
min = a[i];
m = i;}
}
printf("\na[max]: %d, %d", max, n);
printf("\na[min]: %d, %d", min, m);
}

букет223 букет223    1   08.05.2021 13:21    0

Ответы
edbaldin2017 edbaldin2017  08.05.2021 13:30

Вот решение:

Объяснение:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

setlocale(LC_ALL, "rus");

int n,max=-10000;

cout<<"Введите кол-во чисел:"<<endl;

cin>>n;

vector <int> A(n);

cout<<"Введите ваши числа:"<<endl;

for(int i=0;i<A.size();i++)

{

 cin>>A[i];

}

for(int i=0;i<A.size();i++)

{

 if(max<A[i]) max=A[i];

}

cout<<"MAX: "<<max<<endl;

system("pause");

return 0;

}

Примечание: в массиве может быть только один максимальный элемент.

Если не так понял, напиши

ПОКАЗАТЬ ОТВЕТЫ
mashoshinaliza1 mashoshinaliza1  08.05.2021 13:30

Объяснение:

#include <iostream>

using namespace std;

int main(){

   setlocale(LC_ALL,"RU");

   srand(time(NULL));

   int a[10];

   int ans = 0;

   cout << "массив";

   for (int i = 0; i < 10; i++){

       a[i] = -15 + (rand() % 26);

       printf("%d ", a[i]);

   }

   int max1 = a[0], max2 = a[0], n, m;

   for (int i = 0; i < 10; i++){

       if (a[i] > max1){

           max2 = max1;

           max1 = a[i];

       }

       else if(a[i] < max1 && a[i] > max2){

           max2 = a[i];

       }

   }

   cout << endl;

   cout << "Самый больший максимум: "<< max1 << endl << "Второй максимум: "<< max2;  

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика