Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rabbit
Сообщений: n/a
#1

Удалить элементы в массиве с номера к1 по к2 - C++

30.05.2014, 18:29. Просмотров 283. Ответов 1
Метки нет (Все метки)

Нужно удалить элементы в массиве с номера к1 по к2.
Выдаёт кучу ошибок(( пишет, что не объявлены к1 и к2 и а[i]. К тому же, я не уверена, что правильно написала условие для алгоритма remove. Помогите!

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
#include <iostream>
#include <algorithm>
 
using namespace std;
bool F(int k1,k2, a[i])
{
    if((k1<a[i])&& (a[i]<k2));
    return a[i];
}
 
int main()
{
 
    int k1, k2, n;
    int a[20];
    cout<<"n=";
    cin>>n;
    cout<<"k1="; cin>>k1;
    cout<<"k2="; cin>>k2;
    for (int i=0; i<n; i++)
    {
        cout<<"a["<<i<<"]="; cin>>a[i];
    }
    remove(k1,k2,F);
 
    for (int i=0; i<n; i++)
cout<<"a["<<i<<"]="<<a[i]<<endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2014, 18:29     Удалить элементы в массиве с номера к1 по к2
Посмотрите здесь:

C++ Удалить элементы в массиве.
Удалить 0 элементы в одномерном массиве C++
Удалить из массива все элементы, значения которых в этом массиве повторяются C++
C++ Массив: Удалить все повторяющиеся элементы, оставив в массиве только один.
C++ Дан массив целых чисел. Найти номера элементов, оканчивающихся цифрой 0 (известно, что такие элементы в массиве есть)
Удалить повторяющиеся элементы в отсортированнном массиве C++
В одномерном массиве удалить нулевые элементы C++
C++ Удалить элементы в массиве согласно условию
C++ Удалить все элементы массива 1, которых нет в массиве 2
C++ В динамическом массиве удалить N элементов, начиная с номера K (ошибка)
C++ Удалить элементы в массиве так, чтобы оставшиеся образовывали возрастающую последовательность

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4503 / 3841 / 1292
Регистрация: 14.04.2014
Сообщений: 15,074
30.05.2014, 18:51     Удалить элементы в массиве с номера к1 по к2 #2
Примерно так:
C++
1
2
3
4
5
bool F(int a)
{
    if(k1 < a && a < k2) return true;
    else return false;
}
C++
1
2
3
4
5
int *pb = a;
int *pe = pb + 20;
pe = remove_if(pb, pe, F);
for(int *p = pb, int i = 0; p < pe; p++, i++)
    cout << "a[" << i << "]=" << *p;
k1 и k2 должны быть глобальными, чтобы функция их видела.
Yandex
Объявления
30.05.2014, 18:51     Удалить элементы в массиве с номера к1 по к2
Ответ Создать тему
Опции темы

Текущее время: 16:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru