В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
artemsuraaye
artemsuraaye
10.04.2020 08:47 •  Информатика

С++ ! ! ! ! ! ! !

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

найти значение 3-го по величине элемента и значения всех элементов
массива, которые его превышают, заменить на найденное значение.

дополнительные условия:
размер массива определяется в начале выполнения программы как число в диапазоне 5 - 20;
в тексте программы запрещается применять операцию индексации.

сделать, !

вариант № 0

Показать ответ
Ответ:
Aron91
Aron91
05.05.2020 15:15

#include <iostream>

#include <ctime>

#include <algorithm>

using namespace std;

int* input_arr_auto(int* arr, int n) {

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

 arr[i] = rand() % 100;

}

return arr;

}

void print_array(int* arr, int n) {

cout << endl;

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

 cout << arr[i] << "\t";

}

}

int* input_arr(int* arr, int n) {

cout << "Введите элементы массива по одному, или используйте другую функцию для автозаполнения";

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

 cin >> arr[i];

}

return arr;

}

int third_largest(int* arr, int n) {

int first=arr[0], second=arr[0], third=arr[0];

if (n < 3) {

 return -1;

}

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

{

 if (arr[i] > first)

 {

  third = second;

  second = first;

  first = arr[i];

 }

 else if (arr[i] > second)

 {

  third = second;

  second = arr[i];

 }

 else if (arr[i] > third)

  third = arr[i];

}

return third;

}

int main() {

srand(time(NULL));

setlocale(LC_ALL, "Russian");

int n, third_elem;

cout << "Введите размерность N: ";

cin >> n;

int* arr = new int[n];

arr = input_arr_auto(arr, n);

print_array(arr, n);

third_elem = third_largest(arr, n);

if (third_elem == -1) {

 cout << "Недостаточно элементов массива";

}

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

 if (arr[i] > third_elem) {

  arr[i] = third_elem;

 }

}

print_array(arr, n);

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота