Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
6 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 80
1

Поиск элементов

21.06.2010, 12:15. Показов 1034. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
даны два массива. надо найти их общие элементы.

Добавлено через 14 часов 3 минуты
вот кусок


Код
  k1:=0; l1:=0; n:=0;
  {инвариант: 0<=k1<=k; 0<=l1<=l; искомый ответ = n + количество
   общих элементов в x[k1+1]...x[k] и y[l1+1]..y[l]}
  while (k1 <> k) and (l1 <> l) do begin
  | if x[k1+1] < y[l1+1] then begin
  | | k1 := k1 + 1;
  | end else if x[k1+1] > y[l1+1] then begin
  | | l1 := l1 + 1;
  | end else begin {x[k1+1] = y[l1+1]}
  | | k1 := k1 + 1;
  | | l1 := l1 + 1;
  | | n := n + 1;
  | end;
  end;
  {k1 = k или l1 = l, поэтому одно из множеств, упомянутых в
   инварианте, пусто, а n равно искомому ответу}

мне бы целую программу(((
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2010, 12:15
Ответы с готовыми решениями:

Строки, поиск элементов
Дан массив строк. Найти в каждом заданном предложении указать слово в котором доля символов...

Поиск элементов в списке
Поиск элементов в списке

Поиск элементов массива
Помогите пожалуйста. Сформируйте одномерный массив из 50 случайных, целых чисел в диапазоне от 0...

Поиск элементов вектора по индексу
Где может быть ошибка? Надо чтобы с вектора искал элементы по индексу. Например - вектор a b s d...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.06.2010, 12:52 2
Лучший ответ Сообщение было отмечено LadyStrong как решение

Решение

Pascal
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
uses crt;
const nmax=100;
type mas=array[1..nmax] of integer;
{процедура создания массивов, чтоб не писать 2 раза}
procedure vvod(var v:mas;var x:byte;c:char);
var i:byte;
begin
repeat
write('Размер массива ',c,'=');
readln(x);
until x in [1..nmax];
for i:=1 to x do
 begin
  v[i]:=random(20);
  write(v[i]:4);
 end;
writeln;
writeln;;
end;
var n,m,i,j,k,p,f:byte;
    a,b:mas;
begin
clrscr;
randomize;
Vvod(a,n,'A');
Vvod(b,m,'B');
writeln('Общие элементы массивов:');
i:=1;f:=0;
while i<=n do
 begin
  j:=1;p:=0;
  while j<=m do
   begin
    if b[j]=a[i] then{нашли общий элемент}
     begin
      p:=1;{фиксируем для данного числа}
      f:=1;{фиксипуем что есть вообще}
      write(a[i]:4);{выводим его}
      for k:=i to n-1 do
      a[k]:=a[k+1];{удаляем его левым чдвигом из первого массива}
      n:=n-1;{уменьшаем размер}
      for k:=j to m-1 do
      b[k]:=b[k+1];{из второго}
      m:=m-1;
      break;{больше это число не ищем}
     end
    else j:=j+1;{если не такое, вперед по второму массиву}
   end;
  if p=0 then i:=i+1;{если для данного элемента первого массива нет совпадений
                       смотрим следующий}
 end;
if f=0 then write('Общих элементов нет!');
readln
end.
1
6 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 80
21.06.2010, 12:53  [ТС] 3
СПАСИБО БОЛЬШОЕ!!!
0
21.06.2010, 12:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2010, 12:53
Помогаю со студенческими работами здесь

Поиск количества положительных элементов
Вводится квадратная матрица с клавиатуры( не более 10 чисел). Найти и вывести количество...

Поиск угловых элементов матрицы
Ввести двумерный массив A N*M, вывести его. Найти сумму угловых элементов матрицы и сравнить её с...

Поиск произведения отрицательных элементов
Вводится квадратная матрица с клавиатуры( не более 10 чисел). Найти и вывести произведение...

Поиск максимальных элементов матрицы
Дана квадратная матрица А из целых чисел. 1. Она разбита по диагоналям на четыре области: север,...


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

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