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

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

Восстановить пароль Регистрация
 
rabbit
Сообщений: n/a
30.05.2014, 18:29     Удалить элементы в массиве с номера к1 по к2 #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++
C++ Удалить элементы в массиве согласно условию
C++ В динамическом массиве удалить N элементов, начиная с номера K (ошибка)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4297 / 3718 / 1251
Регистрация: 14.04.2014
Сообщений: 14,536
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
Ответ Создать тему
Опции темы

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