Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.06.2021
Сообщений: 3

Вставка числа в массив, чтобы не нарушалась упорядоченность

11.06.2021, 00:00. Показов 2966. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задача заключается в том, чтобы ввести массив, отсортировать его и после выведенного отсортированного массива ввести число и чтобы он отсортировал массив вместе с этим числом. есть только код, который сортирует массив:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
int main()
{
    int *arr; // указатель для выделения памяти под массив
    int size; // размер массива
    cout << "n = ";     // Ввод количества элементов массива
    cin >> size;
 
    if (size <= 0) {       // Размер масива должен быть положитлеьным
    
        cerr << "Invalid size" << endl;
        return 1;
    }
 
    arr = new int[size]; // выделение памяти под массив
 
    // заполнение массива
    for (int i = 0; i < size; i++) {
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
    }
 
    int temp; // временная переменная для обмена элементов местами
 
     // Сортировка массива пузырьком
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // меняем элементы местами
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
 
    // Вывод отсортированного массива на экран
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
        return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2021, 00:00
Ответы с готовыми решениями:

Добавить элемент в упорядоченный список так, чтобы его упорядоченность не нарушалась
Здравствуйте уважаемые! очень нужна помощь. Написать программу, которая осуществляет обработку списков целочисленных элементов,...

В отсортированный массив вставить несколько чисел так, чтобы не нарушалась упорядоченность
1.Найти третье по счёту отрицательное число в массиве 2.В отсортированный массив вставить несколько чисел так, чтобы не нарушалась...

Удалить из a(1)...a(n) элемент с номером К (т.е. a(k)) вставить элемент равный P, так чтобы не нарушалась упорядоченность
Даны действительные числа a(1)....a(n), P, натуральное К (a(1)&lt;=a(2)&lt;=.......&lt;=a(n)). Удалить из a(1)...a(n) элемент с номером К (т.е....

4
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
11.06.2021, 00:27
Лучший ответ Сообщение было отмечено eliseykaa как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
using namespace std;
int main()
{
    int *arr; // указатель для выделения памяти под массив
    int size; // размер массива
    cout << "n = ";     // Ввод количества элементов массива
    cin >> size;
 
    if (size <= 0) {       // Размер масива должен быть положитлеьным
    
        cerr << "Invalid size" << endl;
        return 1;
    }
 
    arr = new int[size]; // выделение памяти под массив
 
    // заполнение массива
    for (int i = 0; i < size; i++) {
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
    }
 
    int temp; // временная переменная для обмена элементов местами
 
     // Сортировка массива пузырьком
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // меняем элементы местами
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
     int x, i;
    cout << "x = ";     
    cin >> x;
    for (i = size; i > 0 && arr[i - 1] > x; --i)
        arr[i] = arr[i - 1];
    arr[i] = x;
    // Вывод отсортированного массива на экран
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
        return 0;
}
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.06.2021, 00:40
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
for (i = size;
почему начинаете цикл с индекса вне массива ?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
11.06.2021, 00:44
Yetty, потому что скопипастил фрагмент из своей программы в код автора!
Мой код, на котором я проверял был такой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Rus");
    int* arr; // указатель для выделения памяти под массив
    int size; // размер массива
    cout << "n = ";     // Ввод количества элементов массива
    cin >> size;
 
    if (size <= 0) {       // Размер масива должен быть положитлеьным
 
        cerr << "Invalid size" << endl;
        return 1;
    }
 
    arr = new int[size+1]; // выделение памяти под массив
 
    // заполнение массива
    for (int i = 0; i < size; i++) {
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
    }
 
    int temp; // временная переменная для обмена элементов местами
 
     // Сортировка массива пузырьком
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // меняем элементы местами
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    int x, i;
    cout << "x = ";     
    cin >> x;
    for (i = size; i > 0 && arr[i - 1] > x; --i)
        arr[i] = arr[i - 1];
    arr[i] = x;
 
 
    // Вывод отсортированного массива на экран
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
    system("pause>>void");
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.06.2021, 01:02
Лучший ответ Сообщение было отмечено eliseykaa как решение

Решение

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Мой код, на котором я проверял был такой
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
// Вывод отсортированного массива на экран
    for (int i = 0; i < size; i++)
в любом случае размер массива на выходе должен быть size+1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2021, 01:02
Помогаю со студенческими работами здесь

Удалить из массива элемент и вставить на нужное место элемент q, так, чтобы не нарушалась упорядоченность
Здравствуйте! Вот сама задача Заданы целочисленный массив а1,а2...аn упорядоченный по не возрастанию элементов и целочисленные переменные...

Вставить элемент в массив так, чтобы он сохранил упорядоченность
Дан одномерный числовой массив, упорядоченный по возрастанию размером N и число X. Вставить X в массив, чтобы он сохранил упорядоченность...

В упорядоченный массив включить новый элемент так, чтобы не нарушилась упорядоченность
Ребята, есть задача, условие такое: в упорядоченный массив включить новый элемент так, чтобы не нарушилась упорядоченность. Вот с этим...

Упорядочить массив по возрастанию и вставить число так, чтобы упорядоченность не нарушилась
одномерный массив, элементы которого задаются с помощью датчика случайных чисел от -50 до +50. 1) использовать сортировку простыми...

Массив: Вставить вектор в матрицу так, чтобы упорядоченность по первому столбцу не была нарушена.
Дана матрица размера n*m, все элементы которой различны, и вектор, состоящий из m элементов. Элементы первого столбца упорядочены по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru