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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 24.09.2006 17:55
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


У меня вот что вышло :

uses crt;

const

n = 9;

type

TMx = array[1..n, 1..n] of byte;

function GetMatrix: TMx;
var
i, j: Integer;
r: TMx;
begin

FillChar(r, sizeof( r ), 1);

for i := 1 to n div 2 + 1 do
for j := (n div 2 + 1) - pred(i) to (n div 2 + 1) + pred(i)
do r[i, j] := 0;

for i := n div 2 + 2 to n do
for j := i - n div 2 to n - ( i - n div 2 - 1)
do r[i, j] := 0;

GetMatrix := r;

end;

procedure Print(mx: TMx);
var
i, j: Integer;
begin
for i := 1 to n do begin
writeln;
for j := 1 to n do
write(mx[i, j]:2);
end;
end;

begin
clrscr;
Print(GetMatrix);
readln;
end.


Только в середину надо вставить единички, ибо как это в цикле сделать ума не приложу ...

что-то я припозднился unsure.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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