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

Удаление элемента в одномерном динамическом массиве

13.01.2022, 11:52. Показов 719. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В массиве а1, а2, … , аn удалить все элементы, значение которых ле-жит между средним арифметическим и (max+min)/2.
Сделал функцию где передаю a - среднее арифметическое, b - (max+min)/2.
Удаление сделал при помощи сдвига массива.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Handler(float* arr, int n, float a, float b)
{
    float tmp;
    bool isUsl = false;
    int z=0;
    printf("\nСреднее арифметическое: %.3f\n(max+min)/2: %.3f", a, b);
    if (a > b) { tmp = a; a = b; b = tmp; }
    else { tmp = b; b = a; a = tmp; }
    for (int i = 0; i < n; i++)
    {
        if (arr[i] > a && arr[i] < b) 
        {
            isUsl = true;
            for (int k = arr[i]; k < n - 1; k++)
            {
                arr[k] = arr[k + 1];
                arr[n] = NULL;
            }
            n--;
        }
    }
    if (!isUsl) { printf("\nВ матрице не оказалось нужных элементов"); }
}
Вывод:
Введите размер массива: 100
-8,655 2,059 8,258 9,783 9,406 -5,741 9,579 0,848 4,762 1,640 9,783 5,108 1,623 9,355 -9,938 -0,968 0,440 -3,509 1,839 -7,685 -9,740 -8,498 2,962 -8,231 -0,440 -7,788 0,202 6,351 3,677 -3,986 1,159 3,928 -3,027 -4,117 8,711 0,456 7,850 7,848 1,115 -7,858 4,727 5,514 -9,083 -8,754 -8,857 7,304 5,756 -3,852 -1,933 -8,003 4,222 -3,716 -8,430 8,229 9,867 2,605 3,967 -6,441 -3,485 4,159 6,564 8,724 7,981 1,430 -7,867 2,721 5,323 -2,932 5,235 -5,663 4,771 -5,380 8,525 5,742 -0,563 5,893 3,146 -6,221 7,939 -2,417 -8,630 -5,420 3,067 -2,224 -0,431 7,118 3,609 -7,034 9,681 -8,660 2,473 -3,799 -2,741 6,485 -5,787 -3,015 4,268 5,231 -4,891 -6,431
Среднее арифметическое: 0,482
(max+min)/2: -0,035
Обработанный массив:
9,783 9,406 -5,741 9,579 0,848 4,762 1,640 9,783 5,108 1,623 9,355 -9,938 -0,968 0,440 -3,509 1,839 -7,685 -9,740 -8,498 2,962 -8,231 -0,440 -7,788 0,202 6,351 3,677 -3,986 1,159 3,928 -3,027 -4,117 8,711 0,456 7,850 7,848 1,115 -7,858 4,727 5,514 -9,083 -8,754 -8,857 7,304 5,756 -3,852 -1,933 -8,003 4,222 -3,716 -8,430 8,229 9,867 2,605 3,967 -6,441 -3,485 4,159 6,564 8,724 7,981 1,430 -7,867 2,721 5,323 -2,932 5,235 -5,663 4,771 -5,380 8,525 5,742 -0,563 5,893 3,146 -6,221 7,939 -2,417 -8,630 -5,420 3,067 -2,224 -0,431 7,118 3,609 -7,034 9,681 -8,660 2,473 -3,799 -2,741 6,485 -5,787 -3,015 4,268 5,231 -4,891 -6,431 -6,431 0,000 0,000


Как сделать так, чтобы при удалении элемента сдвигом менялся размер массива и нулей в конце не было?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.01.2022, 11:52
Ответы с готовыми решениями:

Вычисление максимального элемента в одномерном динамическом массиве
Здравствуйте, появилась такая проблема. Пожалуйста, напишите программу, которая высчитывает максимальный элемент в одномерном динамическом...

Поиск максимального и минимального элемента в одномерном динамическом массиве
Помогите пожалуйста, никак не могу понять где тут ошибка и что вообще нужно делать(код на C++) #include &quot;stdafx.h&quot; #include...

В одномерном динамическом массиве после каждого четного элемента добавить 0
Добрый день. Есть такая задача в одномерном динамическом массиве после каждого четного элемента добавить 0. Вот попыталась решить данное...

4
 Аватар для PencilTorch
90 / 60 / 32
Регистрация: 06.08.2020
Сообщений: 220
13.01.2022, 12:14
Я бы создал новый массив нужного размера и копировал бы в него предыдущий.
0
1 / 1 / 0
Регистрация: 16.01.2021
Сообщений: 143
13.01.2022, 14:01  [ТС]
PencilTorch, можете примерно показать как это сделать?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
13.01.2022, 14:02
Лучший ответ Сообщение было отмечено SSaltMakerR как решение

Решение

C++
1
void Handler(float* arr, int& n, float a, float b)
&
1
1 / 1 / 0
Регистрация: 16.01.2021
Сообщений: 143
13.01.2022, 14:19  [ТС]
Kuzia domovenok, Спасибо! Все заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2022, 14:19
Помогаю со студенческими работами здесь

Удаление двух или более подряд стоящих нулей в одномерном динамическом массиве
Привет всем :) Помогите исправить программу. Нужно удалить из одномерного динамического массива два или более подряд стоящих нулей. ...

В одномерном динамическом массиве, состоящем из n целых элементов вычислить номер минимального элемента массива
Помогите дописать программу. #include &lt;iostream&gt; typedef int in; using namespace std; int main() { in b,min,nomer_min; ...

Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве.
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; #include &lt;stdio.h&gt; #include...

Стереть наибольший элемент в одномерном динамическом массиве
условие: стереть наибольший элемент массива, если в нем таких несколько, то стереть все. вроде код работает, но проблема - если макс....

Определить, сколько различных элементов в одномерном динамическом массиве
Создать одномерный динамический массив размера n, где n вводит пользователь. Заполнить его случайными целыми числами в интервале от 1...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru