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

Удаление N элементов, начиная с номера K

19.10.2010, 09:45. Показов 8839. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
srand((unsigned)time(NULL));
cout<<"n?";cin>>n;
for (i=0;i<n;i++)
{a[i]=rand()%100-50;cout<<a[i]<<" ";};
cout<<"\n1 zadacha\nVVedi K  ";cin>>k;;
cout<<"\n\nUdaliaem elementi, nachinaya s nomera K\n";
for (i=0;i<n;i++)
if (i<k) 
{b[j]=a[i];
cout<<b[j]<<" ";
j++;};cout<<"\n";
Но этот алгоритм удаляет все элементы после номера k, а нужно N элементов.
Знаю только массивы

Добавлено через 9 минут
C++
1
2
3
4
5
6
7
8
9
srand((unsigned)time(NULL));
cout<<"n?";cin>>n; if (n>0) {
for (i=0;i<n;i++)
{a[i]=rand()%100-50;cout<<a[i]<<" ";}
cout<<"\n1 zadacha\nVVedi K  ";cin>>k;cout<<"\nvvedi N\n";cin>>N;
cout<<"\n\nUdaliaem N elementov, nachinaya s nomera K\n";
for (i=0;i<n;i++)
if ((i>=k)&&(i<(k+N))) 
cout<<""; else cout<<a[i]<<" ";
Пока ждал, придумал такое. Будет ли это считаться удалением?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2010, 09:45
Ответы с готовыми решениями:

Добавить К элементов в массив, начиная с номера N
Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. Добавить К элементов, начиная с номера...

Добавить в массив N элементов, начиная с номера К
Помогите с заданием: Добавить N элементов, начиная с номера К.

Удалить N элементов массива начиная с номера K
2.Удалить N элементов, начиная с номера K и вывести полученный массив на печать.

4
Бродяга
 Аватар для dihlofos
315 / 269 / 56
Регистрация: 27.08.2010
Сообщений: 553
19.10.2010, 09:59
На скорую руку, проверьте:
C++
1
2
3
4
5
6
7
8
9
10
cout<<"\n1 zadacha\nVVedi K  ";cin>>k;
cout<<"\nVVedi kolvo  ";cin>>kolvo;
cout<<"\n\nUdaliaem "<<kolvo<<" elementov, nachinaya s nomera "<<k<<endl;
 
for(i=k; i<k+kolvo; i++)
    a[i]=a[i+kolvo]; // элемент = элемент+сдвиг
n-=kolvo;           // уменьшть длину на кол-во удаленных
 
for(i=0; i<n; i++) // вывод
    cout<<a[i]<<' ';
Только по хорошему ещё надо проверку сделать, чтобы за пределы массива не вылазить.
1
1 / 1 / 0
Регистрация: 19.10.2010
Сообщений: 8
19.10.2010, 10:19  [ТС]
i<k+kolvo
я поставил скобки, ибо что-то не работало. Заработало, спасибо
Да и косяк к вам вкрался, так что вы должны быть довольны
1
Бродяга
 Аватар для dihlofos
315 / 269 / 56
Регистрация: 27.08.2010
Сообщений: 553
19.10.2010, 10:30
Ппц, сам запутался) Всё же правильней будет такой цикл:
C++
1
for(i=k; i<n-kolvo; i++)
1
1 / 1 / 1
Регистрация: 09.02.2014
Сообщений: 5
22.02.2014, 15:00
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
#include<iostream>
#include <iomanip>
#include <math.h>
#include <cmath>
#include <stdio.h>
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "russian");
    srand(time(NULL));
 
    int raz, n, k;
    cin >> raz;
    int *mass1 = new int[raz];
    
    for (int i = 0; i < raz; i++)
    {
        mass1[i] = rand() % 200 - 100;
        cout << mass1[i] << " ";
    }
    cout << endl;
    cout << "Введите номер элемента, с которого хотите начать удаление: ";
    cin >> k;
    cout << "Введите количество элементов, которые хотите удалить \n" ;
    cin >> n;
 
    for (int i = k; i < raz - n; i++)
        {   
        mass1[i] = mass1[i + n];
        //raz -= n;
        }
 
    for(int i = 0; i<raz-n; i++)
        cout << mass1[i] << ' ';
 
    system("pause >> void");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2014, 15:00
Помогаю со студенческими работами здесь

Добавить в одномерный массив N элементов, начиная с номера К
1. Сформировать массив из n элементов с помощью датчика случайных чисел (n зада-ется пользователем с клавиатуры). 2. Распечатать...

В динамическом массиве удалить N элементов, начиная с номера K (ошибка)
Помогите, как исправить ошибку? Нужно из массива arr , который перед этим формируется рандомно. удалить N элементов начиная с номера K. у...

Как применяя erase удалить в векторе n элементов, начиная с номера k?
Помогите, как это записать, чтобы не возникало ошибок? arr.erase(arr.begin() + k, arraySize - (arr.begin() + k));

Удаление из массива К элементов, начиная с заданного индекса
Удалить из массива К элементов, начиная с заданного номера. Выполнить проверку введенного номера и числа К на корректность.

Указатели . Удалить из одномерного массива элемент с заданным номером, добавить К элементов, начиная с заданного номера
Сформировать одномерный массив. Удалить из него элемент с заданным номером, добавить К элементов, начиная с заданного номера


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

Или воспользуйтесь поиском по форуму:
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