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

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

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

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

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

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

получается задача решена?
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума
Старый 08.01.2012, 22:11   #22
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
получается задача решена?
Может я что-то пропустил..
А исходя из чего Вы такое решили?!
я, вроде бы, не видел ни решения, ни сообщения о том, что задача решена..


вопросы Jenn
какие ограничения на N ?
Как должен выводиться результат (только не говорите, что на экран. Даже при самых скромных, скажем N = 50, получается матрица 50 x 50 - это 4-х значные числа, на экране для подобной матрицы банально не хватит места...

Кроме того, Вас уже НЕОДНОКРАТНО спрашивали, откуда должна начинаться спираль и как закручиваться - Вы так ничего не ответили... Может, ответите ?..
Serge_Bliznykov вне форума
Старый 08.01.2012, 22:18   #23
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

2Serge_Bliznykov
цитата из аськи
Цитата:
зрдавствуйте! необходимо заполнить матрицу по спирали числами от 1 до n^2. N задается пользователем.
сложность в том, что ехе-файл не должен превосходить 2100 байт (чем меньше,тем лучше). ассемблерные вставки использовать нельзя. начинается из левого верхнего угла
И уже есть желающие реализовать
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума
Старый 09.01.2012, 11:54   #24
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
Радость

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
2Serge_Bliznykov
цитата из аськи

И уже есть желающие реализовать
пример заполнения матрицы по спирали на delphi / pascal
Вложения
Тип файла: rar заполнение матрицы по спирали.rar (185.6 Кб, 23 просмотров)
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума
Старый 09.01.2012, 12:19   #25
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

А че, интересная задача. Нормальный препод. Единственное, не оговорено максимальное N и это плохо. Так, к примеру Turbo Pascal 5.5 с отключенными проверками на переполнение и прочее выдает на Hello, world екзешник размером 1744 байта.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума
Старый 09.01.2012, 12:25   #26
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

дык, заполнить матрицу по спирали - это не проблема.
мне, например, доводилось писать такой код:
Код:
const
  MaxArray = 15;
type
  MyArrayType = array [1..MaxArray, 1..MaxArray] of word;

procedure Spiral(var M : MyArrayType);
var
  k, MaxStep, PosX, PosY : integer;
  i: integer;
BEGIN
  i := 1;
  PosX := 1;
  PosY := 0;
  MaxStep := MaxArray;

  while i <= MaxArray*MaxArray do
  begin
    {движение вправо}
    for k:=1 to MaxStep do
    begin
      Inc(PosY);
      M[PosX, PosY] := i;
      Inc(i);
    end;
    Dec(MaxStep);
    {движение вниз по спирали}
    for k:=1 to MaxStep do 
    begin     
      Inc(PosX);
      M[PosX, PosY] := i;
      Inc(i);
    end;
    {движение влево по спирали}
    for k:=1 to MaxStep do 
    begin
      Dec(PosY);
      M[PosX, PosY] := i;
      Inc(i);
    end;
    Dec(MaxStep);
    {движение вверх по спирали}
    for k:=1 to MaxStep do 
    begin     
      Dec(PosX);
      M[PosX, PosY] := i;
      Inc(i);
    end;
  end;
end;

var
  Matrix : MyArrayType;
  i, j  : integer;

BEGIN
  Spiral(Matrix);

  for i:=1 to MaxArray do
    begin
      for j:=1 to MaxArray do
        Write(Matrix[i,j]:4);
      WriteLn;
    end;
END.

проблемы в другом:
1) размер полученного EXEшника должен быть 2 кб.
2) при достаточно больших N - возникает вопрос, как выводить результат (да и вообще, нужно ли его выводить?! я в исходном коде НЕ ВИЖУ указания сделать это!! Тогда (без вывода полученной матрицы) 1) пункт решается почти автоматически
3) непонятно ограничение на N. Дело в том, что ТурбоПаскаль банально не позволит задать статический массив более чем 181x181, т.е. N не может быть больше 181...


p.s. интересно, чем это всё закончится...
Serge_Bliznykov вне форума
Старый 09.01.2012, 21:26   #27
Jenn
 
Регистрация: 07.01.2012
Сообщений: 9
По умолчанию

N должно быть не более 9. и заполненная матрица должна выводиться на экран
Jenn вне форума
Старый 09.01.2012, 22:38   #28
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от Jenn Посмотреть сообщение
N должно быть не более 9. и заполненная матрица должна выводиться на экран
то что есть на данный момент, необходимо разобраться с выводом и будет все ок
Вложения
Тип файла: rar Desktop.rar (2.3 Кб, 22 просмотров)
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума
Старый 10.01.2012, 03:12   #29
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Цитата:
Сообщение от Jenn Посмотреть сообщение
N должно быть не более 9. и заполненная матрица должна выводиться на экран
и N вводится с клавиатуры ...
Турбо паскаль 7: сначала сделал ровно в 2кБ, немного оптимизировав получил 1.9 кБ (во вложении исполняемый файл)
Вложения
Тип файла: rar SPIRAL.rar (1.5 Кб, 28 просмотров)
на неконкретные вопросы даю неконкретные ответы ...

Последний раз редактировалось Step_UA; 10.01.2012 в 17:30.
Step_UA вне форума
Старый 10.01.2012, 19:18   #30
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от Step_UA Посмотреть сообщение
и N вводится с клавиатуры ...
Турбо паскаль 7: сначала сделал ровно в 2кБ, немного оптимизировав получил 1.9 кБ (во вложении исполняемый файл)
Без ассемблерных вставок?
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение матрицы по спирали!!!!! Jenn Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 08.01.2012 10:52
Заполнение квадратной матрицы по спирали [Delphi] willams Помощь студентам 2 13.12.2010 09:05
Заполнение матрицы по спирали (от центра влево-вниз-вправо-вверх) Баур Помощь студентам 4 03.12.2009 17:39
hello world менее 42 байт romark Паскаль, Turbo Pascal, PascalABC.NET 9 28.12.2008 16:52
Hello world менее 42 байт romark Общие вопросы C/C++ 7 26.12.2008 17:09