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

Удаление элементов в массиве - C++

Восстановить пароль Регистрация
 
prog78
Сообщений: n/a
04.06.2013, 19:44     Удаление элементов в массиве #1
Здравствуйте. Подскажите что в моем коде не так. Мне нужно удалить из нескольких элементов только три.
Ожидаю увидеть например: 1, 2, 3, 4, 5 и из этого удалить нужно 1-й, 3-й, 4-й элемент и должно получиться 2, 5. Делается все так (если вводить последовательно по возрастающей), но стоит вводить любые индексы удаляемых элементов в разнобой и выдает не верный результат.
Код:

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
using namespace::std;
 
int main() 
{ 
    int n, a, b, c; 
    int x[100], m[100];
    cout << " n?.. "; cin >> n;  //количество  элементов
    cout << endl; 
    for (int k = 0; k < n; k++) 
    { 
        cout << "x[" << k << "] = "; 
        cin >> x[k]; 
    }
 
    for (int i = 0; i < 3; i++) 
    {
        cout << endl << " №?.. "; cin >> m[i]; // номера удаляемых элементов
        cout << endl;
        m[i]=m[i]-i;
        if (m[i] > n) m[i] = n; 
        if (m[i] < 1) m[i] = 1; 
        --m[i]; 
        --n;
 
        for (int k = 0; k < n; k++) 
        { 
            if (k < m[i]) continue; 
            else x[k] = x[k + 1];   
        }
        for (int k = 0; k < n; k++) cout << x[k] << ' '; 
    }
 
    getch(); 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 19:44     Удаление элементов в массиве
Посмотрите здесь:

C++ В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов.
C++ Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве.
C++ В одномерном массиве, состоящем из вещественных элементов вычислить номер минимального элемента в массиве, сумму элементов массива
C++ Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один))
C++ в массиве . найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива C++
C++ Поиск и удаление элементов в одномерном массиве
C++ Удаление и замена элементов в одномерном массиве

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Naudiz
 Аватар для Naudiz
14 / 12 / 1
Регистрация: 04.11.2011
Сообщений: 137
04.06.2013, 21:08     Удаление элементов в массиве #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    int n, a, b, c; 
    int x[100], m[100];
    cout << " n?.. "; cin >> n;  //êîëè÷åñòâî  ГЅГ«ГҐГ¬ГҐГ*òîâ
    cout << endl; 
    for (int k = 0; k < n; k++) 
    { 
        cout << "x[" << k << "] = "; 
        cin >> x[k]; 
    }
 
    for (int i = 0; i < 3; i++) 
    {
        cout << endl << " В№?.. "; cin >> m[i]; // Г*îìåðГ* ГіГ¤Г*ëÿåìûõ ýëåìåГ*òîâ
        cout << endl;
        int k=m[i]-1;
        x[k]=0;
        for (int k = 0; k < n; k++) { if (x[k]==0) cout<<""; else cout << x[k] << ' '; } 
    } 
    return 0;
}
slim8
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 49
05.06.2013, 01:03     Удаление элементов в массиве #3
Спасибо за помощь)
Prog78.
Yandex
Объявления
05.06.2013, 01:03     Удаление элементов в массиве
Ответ Создать тему
Опции темы

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