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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 12:44   #1
AnZet
 
Регистрация: 04.12.2011
Сообщений: 6
По умолчанию Заполнение матрицы

Помогите сформировать таблицу
1 0 0 0 0
12 2 0 0 0
11 13 3 0 0
10 15 14 4 0
9 8 7 6 5
т. е по спирали но для половины. Матрица может быть любой размерности.
AnZet вне форума Ответить с цитированием
Старый 04.12.2011, 12:58   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Свои наработки есть?
Arigato вне форума Ответить с цитированием
Старый 04.12.2011, 13:14   #3
AnZet
 
Регистрация: 04.12.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Свои наработки есть?
Есть, но там не очень.. Хочется другой взгляд.. Пытался переделать заполнение по сприрали для всей матрицы тож не получилось.
AnZet вне форума Ответить с цитированием
Старый 04.12.2011, 13:26   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Есть, но там не очень..
Покажешь??
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 04.12.2011, 13:29   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Заполнение надо разбить на 3 цикла:
1. Идем вниз по диагонали.
2. Идем влево.
3. Идем вверх.
И так повторяем, сдвигая границы.
Arigato вне форума Ответить с цитированием
Старый 04.12.2011, 13:49   #6
AnZet
 
Регистрация: 04.12.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Заполнение надо разбить на 3 цикла:
1. Идем вниз по диагонали.
2. Идем влево.
3. Идем вверх.
И так повторяем, сдвигая границы.
Мда.. Спасибо капитан!! +100500 тебе в рейтинг..
AnZet вне форума Ответить с цитированием
Старый 04.12.2011, 13:59   #7
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

То есть один, треугольник должен быть строго нулевой( пытаюсь разобраться в том что ты нарисовал ) , а второй забит числами ( любыми ) ?

Ну если я правильно понял .

Код:
uses crt;
Var matrix : array[1..25,1..25] of byte;
   n,i,j,k : byte;

begin
  clrscr;
  write('enter n = '); readln(n);
  for i:=1 to n do
   for j:=1 to n do begin
    write('matrix[',i,'',j,']=');
    readln(matrix[i,j]);
   end;
  for i:= 1 to n do
         for j:= 1 to n do
             if i > j then matrix[i,j] := 0 
			 else for j:= 1 to n do begin
                   for i:= 1 to n do
       write(matrix[i,j]:3);
       writeln;
  end;
readln;
end.
Люблю на ты.Я человек простой

Последний раз редактировалось Leshii; 04.12.2011 в 14:05.
Leshii вне форума Ответить с цитированием
Старый 04.12.2011, 14:23   #8
AnZet
 
Регистрация: 04.12.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Leshii Посмотреть сообщение
То есть один, треугольник должен быть строго нулевой( пытаюсь разобраться в том что ты нарисовал ) , а второй забит числами ( любыми ) ?
Ну если я правильно понял .
Половину нужно заполнить числами от 1 до (n*n-n)/2+n). Ну т.е. для н=5 это будет 15.. И массив заполняется по спиральке..
1 0 0 0 0
12 2 0 0 0
11 13 3 0 0
10 15 14 4 0
9 8 7 6 5
По диагонали
Влево
и вверх.. Три цикла повторяющихся
AnZet вне форума Ответить с цитированием
Старый 04.12.2011, 14:28   #9
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Код для простого заполнения я тебе написал выше )
Мне за тебя формулу добавить или сам допишеш?)
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 04.12.2011, 14:48   #10
AnZet
 
Регистрация: 04.12.2011
Сообщений: 6
По умолчанию

Там просто заполнение у тебя.. На полный массив
AnZet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение матрицы DinamoBrynsk Помощь студентам 2 26.02.2011 17:16
заполнение матрицы XAPOH Помощь студентам 4 10.02.2011 23:50
Заполнение матрицы С++ Перфаратар Помощь студентам 7 20.10.2010 19:20
Заполнение матрицы -=aHTPoПоС=- Помощь студентам 3 06.11.2009 17:33
Заполнение матрицы Pedro Помощь студентам 3 22.04.2009 23:53