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

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

Восстановить пароль Регистрация
 
Aer_rus
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 76
13.10.2013, 22:31     Удаление элемента из одномерного массива #1
Задан массив целых чисел. Удалить k-й элемент.
Помогите пожалуйста решить.

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
int i,k,n,a[100];
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    cout << "Введите количество элементов n=";
    cin >> n;
    cout << "\nВведите n элементов массива:";
    for(i=0; i<n; i++)
        cin >> a[i];
    cout<<"\n k="; cin>>k; //ввод номера элемента, подлежащего удалению
for (i=k; i<n-1; a[i+1],i++); //удаление m-го элемента
for (i=0; i<n-1; i++) cout<<a[i]<<"\t"; //вывод измененного массива
n--; //уменьшение количества элементов в массиве
    system("\nPAUSE");
    return 0;
}
Посмотрите в чем ошибка.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
13.10.2013, 22:35     Удаление элемента из одномерного массива #2
нет присвоения
добавьте
C++
1
a[i]=a[i+1];
в цикл удаления
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
14.10.2013, 01:01     Удаление элемента из одномерного массива #3
А что произойдет, если пользователь введет число элементов равное 101?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
14.10.2013, 01:07     Удаление элемента из одномерного массива #4
Aer_rus, если число элементов в массиве узнается на стадии выполнения, то стоит пользоваться динамическими массивами. вам же для упрощения задачи лучше будет задавать размер константой и не спрашивать псевдоразмер у пользователя.
Я бы рекомендовал следующий алгоритм решения:
Свапнуть (поменять местами) k-й элемент и последний, уменьшить переменную, отвечающую за текущий размер массива на один. Следует лишь написать функцию swap, либо использовать уже готовую из хедера algorithm std::swap
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
14.10.2013, 01:08     Удаление элемента из одномерного массива #5
Цитата Сообщение от vua72 Посмотреть сообщение
А что произойдет, если пользователь введет число элементов равное 101?
Это уже к лабораторной не относится
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
14.10.2013, 01:11     Удаление элемента из одномерного массива #6
Цитата Сообщение от Cra3y Посмотреть сообщение
Это уже к лабораторной не относится

Не по теме:

да ну, еще и как относится

Yandex
Объявления
14.10.2013, 01:11     Удаление элемента из одномерного массива
Ответ Создать тему
Опции темы

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