удаление элемента из массива



Автор Snowlygirl задал вопрос в разделе Другие языки и технологии

Как из массива удалить элемент? и получил лучший ответ

Ответ от Капитан Гугл[гуру]
Судя по твоим предыдущим вопросам, язык Паскаль. Ну так вот, для обычного массива это невозможно. Но для динамического
var a:array of integer;
...
SetLength(a,10);{10 элементов от 0 до 9!}
...
a[5]:=a[9];{заменяем 5-й эл-т 9-м, последним}
SetLength(a,9);{и уменьшаем массив на 1 элемент}
...

А в будущем указывай язык, ок?

Ответ от RussianFeD[гуру]
ну либ наужн перехреначить ссыль 4го элемента на шестой
либ пересоздать без пятого. 2е - костыль но легче

Ответ от Не Знайка[гуру]
что за бред? чтоб массив из строки 10 символов стал строй из 9 надо удалять не число а столбец.
а так задачу можно решить тупым перебором и последующем копированием с пропуском указного столбца.

Ответ от Dfsdfsd wfsdfad[активный]
Пишите на почту или в асю 586178755

Ответ от Ra[гуру]
> Элемент нужно удалить вообще
С массивом такого не получится, там все равно будет пятый элемент 🙂 , если размер массива больше пяти.
Простейший вариант, считать размер массива, как некую переменную, а остальные элементы просто не использовать:
const
    n = 10;
    cn: integer = 10;
    a: array[1..n] of integer = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
var
    c: integer;
begin
    for c := 1 to cn do write(' ', a[c]);
    writeln;
    for c := 5 to cn - 1 do a[c] := a[c + 1];
    dec(cn);
    for c := 1 to cn do write(' ', a[c]);
    readln;
end.

В delphi, free pascal можно использовать динамические массивы:

var
    a: array of integer;
    n, c: integer;
begin
    n := 10;
    setlength(a, n);
    for c := 0 to n - 1 do a[c] := c;
    for c := 0 to n - 1 do write(' ', a[c]);
    writeln;
    for c := 4 to n - 2 do a[c] := a[c + 1];
    dec(n);
    setlength(a, n);
    for c := 0 to n - 1 do write(' ', a[c]);
    readln;
end.

В ТурбоПаскале тоже можно создавать массивы динамически, но это сложнее.

Ответ от Даша Макольская[новичек]
а в языках си элемент в массиве удалить нельзя вообще, только если обнулить

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как из массива удалить элемент?

2 задачи на программирование
a[ i ]:=random(90) - получишь случайные значения от 0 до 89, а не [ 10; 90 ]
случайные числа из
подробнее...

Pascal Удаление элемента из массива
Для этого сдвигаем правую часть массива влево, на число удаляемых элементов. Сдвигаем при помощи
подробнее...

Как в паскале посчитать сколько в массиве элементов?
Доброго времени суток.

Вы можете узнать только минимальное и максимальное значение индекса с
подробнее...

вывод элементов из массива в jQuery
Что-то не вижу в этом массиве никаких id.

Сэм Павлов
(10023)подробнее...
спросили в Мытье Мыть
Чем мыть деревянную кухню
Поверхность деталей мебели следует протирать сухой мягкой тканью. Уход за рабочими поверхностями
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

PHP Почему не работает функция strtolower($string); при чтении строк из массива?
надо вот так <?php
// Получает содержимое файла в виде массива. В данном примере мы
подробнее...

посчитать сумму элементов одномерного массива. паскаль
тупо добавить вторую переменную для суммы второй. и поставить её вместо первой во втором цикле
подробнее...
спросили в Другое ActionScript
Как называется свойство находить объект по звуку?
Играли в детстве в жмурки?

#yaimg158949#
Вряд ли найдется кто-нибудь, незнакомый с
подробнее...

массивы в php
и что не получается? в точности как написал, так и будет: $a[0] - первый элемент, $a[1] -
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*