IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Создать изображение в виде "1" и "0", Заполнить массив
Gl00M
сообщение 24.09.2006 17:38
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Как уже Volvo подсказал, задача "Заполнить массив n на n по следующей схеме:"
Цитата
1111111
0111110
0011100
0001000
0011100
0111110
1111111
решается давольно таки легко...
а как решить задачу по схеме:
Цитата
111101111
111000111
110000011
100000001
000111000
100000001
110000011
111000111
111101111


P.S. Вот что подсказал по поводу первой:
Код
function min(a, b: integer): integer;
begin
  min := a; if b < a then min := b;
end;
function max(a, b: integer): integer;
begin
  max := a; if b > a then max := b;
end;
begin
  ...
  For i:=1 to n do begin
    for j := min(1 + i - 1, n - i + 1) to max(1 + i - 1, n - i + 1) do
      a[i, j] := 1;
  end;
  { ... и печатай матрицу ... }
  ...
end.

За что ему спасибо! smile.gif

И, кто поможет мне, тоже отдельная благодарностЬ! smile.gif)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 27.09.2006 18:12
Сообщение #2


Гость






...
k: integer;
...

begin

for i := 1 to n do begin
if i <= n div 2 then
for j := 1 to n do begin
if (i = 1) or (i = (n div 2)) then a[i, j] := 1
else if (j < 3) or (j > n - 2) then a[i, j] := 1
end
else begin
for j := 0 to 1 do a[i, (n div 2) + j + 1] := 1;
k := i - (n div 2);
if (k > 1) and (k < 4) then begin
a[i, (n div 2) + (n mod 2) + (3 - k) + 2] := 1;
a[i, (n div 2) + (n mod 2) - (3 - k) - 1] := 1;
end;
end;
end;
...

?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 12.08.2025 10:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"