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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.11.2011, 21:35   #1
juroy
Новичок
Джуниор
 
Регистрация: 20.11.2011
Сообщений: 1
Печаль Задача на паскале

Помогите пожалуйста решить задачу:
Дано число n (4<b<20) надо сформировать двумерный массив, заполняя его спиралью по часовой стрелке. (Начинаешь с левого верхнего угла, заканчиваешь в центре). Массив заполняется числами от 1 до n*n (по возрастанию от левого верхнего угла xD). После чего надо удалить все строки и столбцы массива, в которых есть более 3х чисел, кратных n.
Сам уже все мозги сломал, но не знаю как сформировать массив спиралью...
juroy вне форума
Старый 20.11.2011, 21:38   #2
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
как сформировать массив спиралью...
Код:
uses crt;
var i,j,m,n,l,r : integer;
    tab         : array [1..50,1..50] of integer;
begin
  clrscr;
  write('n strok: ');  readln(m);
  write('n stolb : ');  readln(n);
  repeat
    inc(r);
    for i:=r   to n-r+1   do begin inc(l);tab[i,r]:=l     end;
    for i:=r+1 to m-r+1   do begin inc(l);tab[n-r+1,i]:=l end;
    for i:=n-r downto r   do begin inc(l);tab[i,m-r+1]:=l end;
    for i:=m-r downto r+1 do begin inc(l);tab[r,i]:=l     end;
  until l=m*n;
  for j:=1 to m do
  for i:=1 to n do
  begin
    write(tab[i,j]:4);
    if i=n then writeln;
  end;
  readln;
end.
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в паскале Viktoria90 Помощь студентам 2 30.12.2009 17:51
Задача в паскале Эльнара Помощь студентам 5 21.12.2009 12:43
Задача на паскале BBED Паскаль, Turbo Pascal, PascalABC.NET 1 19.11.2008 12:32