Показать сообщение отдельно

  #634  
Старый 12.06.2008, 22:16
hoty
Познающий
Регистрация: 20.05.2008
Сообщений: 81
Провел на форуме:
224517

Репутация: 32
По умолчанию

На днях спрашивал про PASCAl 7.0:

Цитата:
1. Проверка включения AÌ B (все элементы массива A есть в массиве B).

Вход: Два УПорядоченных множества A и B (массивы).
Выход: да или нет (1 или 0, true или false).

i:=1; j:=1; // указатели на начало множеств
пока i¹ |A|+1 и j¹ |B|+1 цикл
если A[i] < B[j] то вернуть 0 и выход // элемент A отсутствует в B
иначе если A[i] > B[j] то j:=j+1 // переход к след. элементу B
иначе // элементы совпали – перейти к следующим
i:=i+1; j:=j+1;
конец если
конец цикла
если i=|A|+1 то вернуть 1 иначе вернуть 0.<

Вот решение (разобрался :-) :

Цитата:
uses crt;
const n=4, m=4; {n,m - proportion of our mas}
var a[n],b[n];

uses crt;
const n=3; m=7;
var a: array [1..n] of integer;
b: array [1..m] of integer;
i,j: integer;
otvet: boolean;

begin
clrscr;


writeln('a[',n,']');
for i:=1 to n do
begin write('Enter ',i,' Element : '); readln(a[i]); end;

writeln('b[',m,']');
for j:=1 to m do
begin write('Enter ',j,' Element : '); readln(b[j]); end;


i:=1; j:=1;

while ( (i<n+1) and (j<m+1) ) do

if a[i]<b[j] then begin otvet:=false; break; end
else
if a[i]>b[j] then j:=j+1;
else
begin i:=i+1; j:=j+1; end;

if (i=n+1) then otvet:=true else otvet:=false; writeln('otvet : ',otvet);

writeln; writeln('Press to button'); readkey;
end.
Спасибо форумчанам.

Последний раз редактировалось hoty; 12.06.2008 в 22:19..
 
Ответить с цитированием