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

С++ ! ! ! ! ! ! !

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

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

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

сделать, !

вариант № 0

Ответ:
юлия1628
юлия1628
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?