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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу в которой сформировать двумерный динамический массив, посчитать произведение по условию http://www.cyberforum.ru/cpp-beginners/thread891064.html
Составить программу в которой сформировать двумерный динамический массив. Который состоит из k строк и p столбцов, в отдельной функции посчитать произведение элементов, которые имеют значения кратные 3. Помогите плз
C++ Нужно исправить ошибки #include <iostream> #include <string> #include <sstream> #include <algorithm> #include <iterator> #include <unordered_map> typedef std::istream_iterator<std::string> input_string; typedef std::unordered_map<char, int> umap; http://www.cyberforum.ru/cpp-beginners/thread891063.html
Найти все пути между двумя любыми вершинами в графе C++
Пожалуйста, очень нужна помощь. Найти все пути между двумя любыми вершинами в графе. В выводе ошибка. Помогите исправить спасибо.
Мультисписок студентов C++
У меня задание мультисписок студентов. Как его организовать? Подскажите пожалуйста
C++ C++ vs ogl http://www.cyberforum.ru/cpp-beginners/thread891048.html
Здравствуйте. Не могу найти нужной мне инфы - мало времени; преподаватель с++ как валянок. Ничего не объясняет, а задания задает. Суть в следующем: Средствами с++ и ogl изобразить перемещение точки (дугой) из квадрата на оси Х в другой квадрат на той же оси. Времени самому с нуля учить уже нет, а сдавать нужно. Откликнитесь!
C++ Вычислить рекурсивным методом значение математической зависимости Помогите, пожалуйста, нужно "Вычислить рекурсивным методом значение математической зависимости:" подробнее

Показать сообщение отдельно
prog78
Сообщений: n/a

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

04.06.2013, 19:44. Просмотров 242. Ответов 2
Метки (Все метки)

Здравствуйте. Подскажите что в моем коде не так. Мне нужно удалить из нескольких элементов только три.
Ожидаю увидеть например: 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(); 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru