Предмет: Информатика, автор: amdclub

Задание С++ СРОЧНО ! ! ! ! ! ! !

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

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

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

Помогите сделать, срочно !

Вариант № 0

Приложения:

Ответы

Автор ответа: Koljisto
0

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

}

Похожие вопросы
Предмет: Математика, автор: деректор2
Предмет: Литература, автор: Frolova96
Эти суждения верны: а) В.А. Жуковский соединил в своих сказках мотивы рыцарского средневековья, русских народных поверий и обычаев и правила салонно-придворного этикета. б) Это произведение относится к жанру потешки: Вы коты, коты, коты, У вас желтые хвосты, Вы коты, коты, коты, Принесите дремоты. в) Детские писатели: В.Бианки, К. Паустовский, Л. Толстой, А. Пушкин, Н. Носов, А. Блок, С. Есенин, М. Зощенко. г) Драма – один из трех основных родов литературы (наряду с эпосом и лирикой). В этом смысле драмой называется любой текст, представляющий прямое воспроизведение действия, состоящий из диалогов, монологов и кратких описаний действия. д) В центре рассказов Дж. Лондона напряженная, критическая ситуация, в которой проявляется нравственная суть личности. Человек побеждает силы природы и самого себя благодаря ответственности, воле, мужеству и чести. е) На подготовительном этапе формирования читательской самостоятельности метод чтения-рассматривания реализуется в такой последовательности: чтение содержания произведения, рассматривание иллюстрации, рассматривание обложки, обсуждение названия произведения и автора.