1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 148
1

В массиве А оставить только элементы со значениями, которые имеются в массиве В

11.11.2011, 19:06. Показов 1252. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть динамический массив а: целочисленный
Delphi
1
2
3
4
5
1
2
3
4
5
и массив b, такого же типа:
Delphi
1
2
3
1
3
5
как сделать так чтобы по нажатию кнопки в массиве а остатлись только элементы со значениями, которые имеются в массиве b, то есть 1 3 5?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2011, 19:06
Ответы с готовыми решениями:

Оставить в первом массиве только те элементы, которых нет во втором массиве
Даны 2 массива вещественных чисел A, B. Оставить в первом массиве только те элементы, которых нет...

имеются ли в массиве элементы с одинаковыми значениями
Дан двумерный массив Х(6,6) . Определить имеются ли в массиве элементы с одинаковыми значениями...

Определить, имеются ли в массиве элементы со значениями, оканчивающиеся цифру ''3''
1.Дан двумерный цилочисленный массив Y(5,5) из трех значных чисел.Определить имеются ли в массиве...

Найти элементы, которые присутствуют только в массиве А или только в массиве В
Есть два массива. Методом линейного поиска с барьером Найти элементы, которые присутствуют только в...

3
7 / 7 / 5
Регистрация: 08.11.2011
Сообщений: 59
11.11.2011, 22:23 2
Проверяешь каждый элемент первого массива с каждым элементом второго (2 цикла, один в другом), и удаляешь те элементы первого массива, на которые нет совпадений.
Чтобы выявить такие элементы, нужна переменная. Во втором цикле если совпало, то переменная = 1, затем ниже в первом if переменная <> 1, then удаляешь строку.
Для удаления пишешь процедуру, по принципу смещения. Все строки ниже указанной смещаешь на 1 строку вверх, потом последнюю убираешь.
0
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,119
12.11.2011, 21:01 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от R45H Посмотреть сообщение
Для удаления пишешь процедуру, по принципу смещения
Или создай временный массив в который занесешь только повторяющиеся данные, потом перенесешь данные из временного в постоянный.
Delphi
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
var
  i, j, k : integer;//для циклов
  exists : boolean;//для проверки наличия элемента в временном массиве
  Temp : array of integer;//временный массив
begin
//проходим по двум массивам
for i := 0 to Length(a)-1 do
  for j := 0 to Length(b)-1 do
    //если элементы совпадают
    if a[i] = b[j] then
    begin
      // проверяем наличие данного элемента в временном массиве
      exists := false;
      for k := 0 to Length(Temp)-1 do
        if Temp[k] = a[i] then
        begin
          exists := true;
          break;
        end;
        // если элемента нет
        if exists = false then
        begin
          //добавляем его
          SetLength(Temp, Length(Temp)+1);
          Temp[Length(Temp)-1] := a[i];
        end;
    end;
    // переносим временный массив в постоянный
    SetLength(b, Length(temp));
    for i := 0 to Length(Temp)-1 do
      b[i] := Temp[i];
end;
Как то так, писал на коленке)))
0
84 / 84 / 16
Регистрация: 11.11.2011
Сообщений: 259
12.11.2011, 21:14 4
а тупо...
Delphi
1
2
3
4
for i:=0 to a.count-1 do begin
 if pos(a[i],b)<>0 then c.add(a[i]);
end;
a:=c;
религия не позволяет?
0
12.11.2011, 21:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2011, 21:14
Помогаю со студенческими работами здесь

Вывести элементы, которые есть только в массиве А или только в массиве В
Помогите пожалуйста! Вывести элементы, которые есть только в массиве А или только в массиве В....

Элементы, которые есть только в массиве А или только в массиве В
Элементы, которые есть только в массиве А или только в массиве В. Алгоритм сортировки Подсчетом....

Вывести элементы в С, которые присутствуют в нескольких экземплярах либо только в массиве A, или массиве В
Вообщем необходимо Вывести в массив С элементы, которые присутствуют в нескольких экземплярах либо...

Определить имеются ли в массиве элементы с противоположными значениями среди элементов , расположенных выше главной диагонали матрицы
Дан массив Х(4,6) . Определить имеются ли в массиве элементы с противоположными значениями среди...

Заменить нулями в матрице элементы с четной суммой индексов, которые имеются в заданном массиве
Даны целые числа a1, ... ,a10, целочисленная квадратная матрица порядка n. Заменить нулями в...

Оставить в массиве только нечетные элементы и сжать его, заполнив оставшееся место нулями
Есть некий массив Нужно оставить в нем только нечетные элементы и сжать массив, заполнив...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru