Вопрос задан 29.09.2023 в 16:24. Предмет Информатика. Спрашивает Пархоменко Мила.

Помогите переделать код, чтобы искало два максимальных элемента (в данном коде ищет максимальный и

минимальный элементы) #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); }
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Плотникова Александра.

Ответ:

Объяснение:

#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;  

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот переделанный код, который ищет два максимальных элемента в массиве:

cpp
#include <iostream> #include <ctime> 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 first_max = INT_MIN; // Инициализируем первый максимальный элемент как минимальное возможное значение int second_max = INT_MIN; // Инициализируем второй максимальный элемент как минимальное возможное значение int first_max_index, second_max_index; for (int i = 0; i < 10; i++) { if (a[i] > first_max) { second_max = first_max; // Сдвигаем текущий первый максимальный элемент на вторую позицию second_max_index = first_max_index; first_max = a[i]; // Обновляем первый максимальный элемент first_max_index = i; // Обновляем индекс первого максимального элемента } else if (a[i] > second_max) { second_max = a[i]; // Обновляем второй максимальный элемент second_max_index = i; // Обновляем индекс второго максимального элемента } } printf("\nПервый максимальный элемент: %d, Индекс: %d", first_max, first_max_index); printf("\nВторой максимальный элемент: %d, Индекс: %d", second_max, second_max_index); return 0; }

В этом коде переменные first_max и second_max хранят два максимальных элемента, а переменные first_max_index и second_max_index хранят их соответствующие индексы в массиве.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос