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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2008, 13:57   #11
ReWiR
 
Регистрация: 27.11.2008
Сообщений: 7
По умолчанию

for i:=1 to m do
begin
flag:=false;{flag - элемент есть в строке}
for j:=1 to n do
if x=a[i,j] then flag:=true;
if not flag then ex:=false;{элемента нет в строке}
end;
flag:=true;
if ex then{если есть во всех строках}
begin
if ind=0 then begin{если первый элемент в выходном массиве}
inc(ind);
Exist:=true;
end
else
begin
for i:=1 to ind do
if x=b[i] then flag:=false;{если в выходном массиве нет еще такого элемента}
if flag then begin
inc(ind);
exist:=true;
end;
end;
end;

можно обьяснить что здесь делается и как
ReWiR вне форума Ответить с цитированием
Старый 27.11.2008, 13:59   #12
ReWiR
 
Регистрация: 27.11.2008
Сообщений: 7
По умолчанию

а понял, матрица образуется здесь for i:=1 to m do
begin
for j:=1 to n do
ReWiR вне форума Ответить с цитированием
Старый 27.11.2008, 14:07   #13
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию УУУУУУУх

Цитата:
Сообщение от ReWiR Посмотреть сообщение
for i:=1 to m do
begin
flag:=false;{flag - элемент есть в строке}
for j:=1 to n do
if x=a[i,j] then flag:=true;
if not flag then ex:=false;{элемента нет в строке}
end;
flag:=true;
if ex then{если есть во всех строках}
begin
if ind=0 then begin{если первый элемент в выходном массиве}
inc(ind);
Exist:=true;
end
else
begin
for i:=1 to ind do
if x=b[i] then flag:=false;{если в выходном массиве нет еще такого элемента}
if flag then begin
inc(ind);
exist:=true;
end;
end;
end;

можно обьяснить что здесь делается и как
ex:=true - считаем что этот элемент есть во всех строках
Вводим flag - элемент есть в строке

В цикле for i:=1 to m просматриваем все строки
flag:=false - элемент в строке пока не встретился
for j:=1 to n do - просматриваем все элементы строки и если есть совпадение то flag:=true;
Если flag=true - значит элемент есть в строке и ex не нужно менять на false;
flag:=true - означает что в выходном массиве нет такого элемента
if ex - если есть во всех строках
if ind=0 - нашли только первый элемент который есть во всех строках и значит Exist:=true - можно добавлять
else - уже нашли несколько элементов и нужно проверить а не повторяется ли этот элемент в массиве b
if x=b[i] - повторяется и заносить его не нужно(flag:=false)
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Люди помогите !!! Очень срочно нужно. (ПАСКАЛЬ) Jey_RO Помощь студентам 2 27.05.2008 18:52
Люди добрые,помогите пожалуйста решить задачки!!! Мартышонок Паскаль, Turbo Pascal, PascalABC.NET 4 22.05.2008 08:00
Люди пожалуйста помогите с написанием ФАЙЛ МЕНЕДЖЕРА nash Помощь студентам 1 11.12.2007 21:35
Срочно,помогите,пожалуйста! Валентина07 Помощь студентам 0 01.12.2007 11:27
Люди помогите пожалуйста найти NoCD! Stason_007 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 10.10.2007 20:25