Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2014, 21:22   #1
Ilai
Пользователь
 
Регистрация: 10.09.2014
Сообщений: 90
Лампочка Даны два целочисленных массива. Выяснить, является ли один из них подмножеством другого (Free Pascal)

Добрый день!
Помогите пожалуйста c программой. Пишу её на языке Free Pascal. Помогите составить блок-схему программы или написать саму программу:
Даны два целочисленных массива. Выяснить, является ли один из них подмножеством другого. Если является, то упорядочить это подмножество по убыванию.
Ilai вне форума Ответить с цитированием
Старый 09.11.2014, 21:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я с потолка писну:
Код:
program Project1;

function comp(a,b:array of integer):boolean;
var j,i:integer;
begin
  Result:=false;
  for i:=Low(a) to High(a) do begin
    if i=High(b) then break;
    if a[i]=b[Low(b)] then begin
      Result:=true;
      for j:=Low(b) to High(b) do begin
        if a[j+i]<>b[j] then begin Result:=false; break; end;
      end;
      if Result then exit;
    end;
  end;

end;

var a,b:array of integer;
begin
 вводим А и В
 if comp(a,b) then В входит в А.
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2014, 16:51   #3
Ilai
Пользователь
 
Регистрация: 10.09.2014
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я с потолка писну:
Код:
program Project1;

function comp(a,b:array of integer):boolean;
var j,i:integer;
begin
  Result:=false;
  for i:=Low(a) to High(a) do begin
    if i=High(b) then break;
    if a[i]=b[Low(b)] then begin
      Result:=true;
      for j:=Low(b) to High(b) do begin
        if a[j+i]<>b[j] then begin Result:=false; break; end;
      end;
      if Result then exit;
    end;
  end;

end;

var a,b:array of integer;
begin
 вводим А и В
 if comp(a,b) then В входит в А.
end.
Большое спасибо!
Ilai вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два Edita надо сделать недоступным один из них nik-maximal Общие вопросы Delphi 1 25.01.2012 14:50
Даны два квадратных массива А и В. Вывести на экран тот из них, у которого след меньше (сумма элементов красавица Паскаль, Turbo Pascal, PascalABC.NET 0 21.12.2010 12:31
Даны два массива x[1] <= ... <= x[k], y[1] <= ... <= y[l]. eduDo Общие вопросы .NET 0 15.12.2010 17:00