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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2010, 18:34   #11
kat297
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 18
По умолчанию

А как можно описать (задать) внутренние и внешние элементы матрицы?)
kat297 вне форума Ответить с цитированием
Старый 23.10.2010, 19:11   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А как можно описать (задать) внутренние и внешние элементы матрицы?)
Вам нужно сделать ввод матрицы (либо оператор вводит, либо читать из файла), или, можно заполнить матрицу случайными числами.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.10.2010, 19:26   #13
kat297
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 18
По умолчанию

Немного не поняли вопрос....Я хотела в одно множество добавить граничные эл-ты, а во второе - внутренние...Но затруднение с осуществлением этого....Как это описать?
kat297 вне форума Ответить с цитированием
Старый 23.10.2010, 20:39   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Немного не поняли вопрос.
Вот тут ты в точку...
Я лично окончательно запутался.
Правильно ли я думаю - если какого либо элемента внутри периметра матрицы нет в самом ее периметре то ответ - "нет"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2010, 20:41   #15
kat297
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 18
По умолчанию

Вроде бы так)
kat297 вне форума Ответить с цитированием
Старый 24.10.2010, 22:53   #16
kat297
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 18
По умолчанию

Подскажите пожалуйста, как можно добавить в множество внутренние элементы?
kat297 вне форума Ответить с цитированием
Старый 24.10.2010, 23:29   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так:
Код:
InnerSet := [];
for i:=2 to N-1 do
  for j:=2 to N-1 do
     Include(InnerSet, Mas[i,j]);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.10.2010, 22:13   #18
kat297
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 18
По умолчанию

Цитата:
program Project1;

{Дана матрица А размерностью [NxN] элементов целого типа из диапазона от 0 до 255. Не используя вспомогательных массивов и не изменяя порядка элементов матрицы А установите, можно ли граничными элементами матрицы заполнить внутреннюю её часть: граничные элементы при заполнении могут использоваться неоднократно}

{$APPTYPE CONSOLE}

uses
SysUtils;

const N = 4;
var
i, j, k : integer;
A : array[1..N,1..N] of byte;
s : byte;
Gran,Gran1,Vnutr : set of byte;
begin
Randomize;
WriteLn;
for i:=1 to N do begin
for j:=1 to N do begin
k := Random(6);
A[i,j] := k;
Write(A[i,j]:6);
end;
WriteLn;
end;
Gran := [];
Vnutr := [];
Gran1 := [];
for i:=2 to N-1 do
for j:=2 to N-1 do
Include(Vnutr, A[i,j]);
for i:=1 to N do
for j:=1 to N do
Include(Gran1, A[i,j]);
Gran:=Gran1-Vnutr;
If (Vnutr <= Gran) then Writeln('mogno')
else Writeln('Net');
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
Маленькая проба ...Но не работает...постоянно показывает отрицательный результат, что нельзя составить....Тут что-то намудрила...
kat297 вне форума Ответить с цитированием
Старый 28.10.2010, 23:30   #19
Kingdom_Reborn
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 130
По умолчанию

Ну я вижу, что вы множество граничных элементов неправильно находите. Вы из множества всех элементов вычитаете внутренние. Если у вас есть внутренний элемент 5 и на границе тоже есть элемент 5, то когда вы из всех элементов вычтите внутренние, то у вас эта пятёрка пропадёт, хотя она на границе есть...

////////////////////

вот как бы так должно быть, правда в задание я так и не въехал
Код:
const
    Nmax = 10;
var
    i, j, N: Integer;
    A: Array[1..Nmax, 1..Nmax] of Byte;
    S1, S2: Set of Byte;
begin
    ClrScr;
    Randomize;
    N := 4;
    for i := 1 to N do
    begin
        for j := 1 to N do
        begin
            A[i, j] := Random(6);
            Write(A[i, j]:6, ' ');
        end;
        WriteLn;
    end;
    S1 := [];
    S2 := [];
    for i := 2 to N - 1 do
        for j := 2 to N - 1 do
            S1 :=  S1 + [A[i, j]];
    for i := 1 to N do
        S2 := S2 + [A[1, i]] + [A[N, i]];
    for i := 1 to N do
        S2 := S2 + [A[i, 1]] + [A[i, N]];
    if S1 <= S2 then WriteLn('Yes') else WriteLn('No');
    ReadLn;
end.
kat297, вы отступы в тексте программы делайте, так удобнее читать программу...

Последний раз редактировалось Kingdom_Reborn; 28.10.2010 в 23:44.
Kingdom_Reborn вне форума Ответить с цитированием
Старый 29.10.2010, 01:12   #20
kat297
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 18
По умолчанию

О, спасибище огромное)
kat297 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества в Delphi 0LMER Помощь студентам 0 18.09.2010 15:28
Множества в DELPHI _LeO_ Общие вопросы Delphi 6 21.06.2010 20:15
Множества Antonio_getscool Помощь студентам 1 11.03.2010 12:43
Множества Delphi VadEr Помощь студентам 10 25.10.2009 14:57
Задача на вектора (тема Множества) DELPHI 08ekhiv1 Помощь студентам 1 13.03.2009 20:00