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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Интересная задачка =)
Старый 05.12.2008, 13:16   #1
enot27
 
Регистрация: 04.12.2008
Сообщений: 6
Хорошо Спиральное отображение массива....

Люди,спасите,нужно решение очень срочно...только у меня никак не получается((задача:дан массив 5х5,заполненный числами от 1 до 25 по порядку,нужно вывести его в виде спирали т.е
1 2 3 4 5
16 17 18 19 6 помогите,пожалуйста!!!!!!
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
enot27 вне форума Ответить с цитированием
Старый 05.12.2008, 15:18   #2
CrazyRabbit
Пользователь
 
Аватар для CrazyRabbit
 
Регистрация: 27.10.2008
Сообщений: 38
По умолчанию

Код:
var a:array[1..100,1..100]of integer;
 i,j,n,l1,k,l:longint;
  begin
  read(n);
    l:=sqr(n);
     l1:=0;
      k:=1;

      while k<>l do
       begin

	if k<>l then
	 begin
	  for i:=1+l1 to 1+l1 do
	   for j:=1+l1 to n-l1 do
	    begin

	     a[i,j]:=k;
	      inc(k);
	    end;
	  end;

	  if k<>l then
	   begin
	    for i:=2+l1 to n-l1 do
	     for j:=n-l1 to n-l1 do
	      begin
	       a[i,j]:=k;
		inc(k);
	      end;
	    end;

	    if k<>l then
	     begin
	      for i:=n-l1 downto n-l1 do
	       for j:=n-l1-1 downto 1+l1 do
		begin
		 a[i,j]:=k;
		  inc(k);
		end;
	     end;

	     if k<>l then
	      begin
	       for i:=n-l1-1 downto 1+l1+1 do
		for j:=1+l1 downto 1+l1 do
		 begin
		  a[i,j]:=k;
		   inc(k);
		 end;
	      end;
	      inc(l1);
	  end;


	     for i:=n div 2 to n div 2 +2do

	      for j:=n div 2 to n div 2+2 do
	       if a[i,j]=0 then
		a[i,j]:=k;

		 for i:=1 to n do
	    begin
	     for j:=1 to n do
	      write(a[i,j],' ');
	       writeln;
	    end;
 end.
этот код для любого n, если че, заменишь.

Последний раз редактировалось SuperVisor; 05.12.2008 в 15:24. Причина: Теги под код... Не нарушение - правило хорошего тона :)
CrazyRabbit вне форума Ответить с цитированием
Старый 05.12.2008, 15:23   #3
enot27
 
Регистрация: 04.12.2008
Сообщений: 6
По умолчанию ^)

вот спасибо!!!Что бы я без тебя делал??СПАСИБО ОГРАМЕННОЕ!!
enot27 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение текста Hirhufa Microsoft Office Word 2 27.06.2008 15:42
Отображение рисунков Witaliy Компоненты Delphi 0 26.05.2008 17:33
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44
Отображение StatusBar mutabor Компоненты Delphi 6 17.07.2007 18:06
Отображение записи Mirlan БД в Delphi 7 11.06.2007 10:17