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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2013, 19:00   #1
Ivan{-}
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 11
По умолчанию Розробити програму "Ханойські башти".у програмному середовищі Pascal ABC.NET.

Розробити програму "Ханойські башти".у програмному середовищі Pascal ABC.NET.підключити графічні можливості Паскаль яка виконує переміщення кілець з першої бошти на останню.Застосувати різнокорольовність кілець ,башти.Програма має підрахувати кількість кроків переміщення кілець
Ivan{-} вне форума Ответить с цитированием
Старый 16.02.2013, 19:31   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Чего ее разрабатывать, это один самых замыленных примеров рекурсии, в дырнете полно примеров с готовым кодом.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 16.02.2013, 19:37   #3
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
В дырнете полно примеров с готовым кодом.
Не совсем понял, что написал автор темы, но может это?

Код:
uses Graph;

type IntArr = array[1..100] of integer;

const  
  h = 20;
  dist = 10;
  cellsize = 30;

procedure DrawElemAsHystogram(const a: IntArr; n,i: integer; x,y: integer);
begin
  Rectangle(x+(i-1)*(h+dist),y,x+(i-1)*(h+dist)+h,y-a[i]);
end;

procedure DrawArrayAsHystogram(const a: IntArr; n: integer; x,y: integer);
begin
  for var i := 1 to n do
    DrawElemAsHystogram(a,n,i,x,y);
end;

procedure DrawArr(const a: IntArr; n: integer);
begin
  Window.Clear;
  DrawArrayAsHystogram(a,n,10,340); 
  Sleep(100);
end;

procedure BubbleSort(var a: IntArr; n: integer);
begin
  for var i:=n downto 2 do
  for var j:=1 to i-1 do
    if a[j+1]<a[j] then
    begin
      Swap(a[j+1],a[j]);
      DrawArr(a,n);
    end;
end;

var 
  a: IntArr;
  n: integer := 20;

begin
  Window.Title := 'Пузырьковая сортировка';
  Window.SetSize(640,380);
  for var i := 1 to n do
    a[i] := Random(10,299);
    
  Brush.Color := Color.LightGreen;
  DrawArrayAsHystogram(a,n,100,340); 
  BubbleSort(a,n);
end.
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 16.02.2013, 19:44   #4
Ivan{-}
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 11
По умолчанию

cпс-но вона неработает у меня почемуто....
Ivan{-} вне форума Ответить с цитированием
Старый 16.02.2013, 19:51   #5
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Ivan{-} Посмотреть сообщение
cпс-но вона неработает у меня почемуто....
Що в тебе стоїть? У мене стоїть PascalABC.НЕТ, і все працює
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 16.02.2013, 20:02   #6
Ivan{-}
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 11
По умолчанию

pascal abc
Ivan{-} вне форума Ответить с цитированием
Старый 16.02.2013, 20:03   #7
Ivan{-}
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 11
По умолчанию

выбываё ошибка модуль graph не найден
Ivan{-} вне форума Ответить с цитированием
Старый 16.02.2013, 20:08   #8
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Ivan{-} Посмотреть сообщение
выбываё ошибка модуль graph не найден
Замени на GraphABC
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 16.02.2013, 20:10   #9
Ivan{-}
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 11
По умолчанию

ошыбка: ожыдался индетыфикатор

for var i := 1 to n do

после for var

Последний раз редактировалось Ivan{-}; 16.02.2013 в 20:16.
Ivan{-} вне форума Ответить с цитированием
Старый 16.02.2013, 20:21   #10
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Ivan{-} Посмотреть сообщение
ошыбка: ожыдался индетыфикатор

for var i := 1 to n do

после for var
Код:
uses GraphABC;

type IntArr = array[1..100] of integer;

const  
  h = 20;
  dist = 10;
  cellsize = 30;

procedure DrawElemAsHystogram(const a: IntArr; n,i: integer; x,y: integer);
begin
  Rectangle(x+(i-1)*(h+dist),y,x+(i-1)*(h+dist)+h,y-a[i]);
end;

procedure DrawArrayAsHystogram(const a: IntArr; n: integer; x,y: integer);
var i:integer;
begin
  for i := 1 to n do
    DrawElemAsHystogram(a,n,i,x,y);
end;

procedure DrawArr(const a: IntArr; n: integer);
begin
  Window.Clear;
  DrawArrayAsHystogram(a,n,10,340); 
  Sleep(100);
end;

procedure BubbleSort(var a: IntArr; n: integer);
var i,j:integer;
begin
  for i:=n downto 2 do
  for j:=1 to i-1 do
    if a[j+1]<a[j] then
    begin
      Swap(a[j+1],a[j]);
      DrawArr(a,n);
    end;
end;

var 
  a: IntArr;
  n,i: integer;

begin
n:=20;
  Window.Title := 'Пузырьковая сортировка';
  Window.SetSize(640,380);
  for i := 1 to n do
    a[i] := Random(10,299);
    
  Brush.Color := Color.LightGreen;
  DrawArrayAsHystogram(a,n,100,340); 
  BubbleSort(a,n);
end.
Теперь-то работает?
МаГиЯ
мАгИя
МаГиЯ

Последний раз редактировалось MisterDie; 16.02.2013 в 20:25.
MisterDie вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Розробити програму "Ханойські башти".у програмному середовищі Pascal ABC.NET. Ivan{-} Помощь студентам 0 13.02.2013 20:25
в Pascal ABC.Net ошибка:"невозможно явно преобразовать тип integer к System.random" ameks94 Паскаль, Turbo Pascal, PascalABC.NET 3 23.12.2012 02:04
Pascal ABC строки - программа, которая каждую встреченную букву "б" заменяет сочетанием "ку" (использовать модули) Raigo Помощь студентам 6 17.05.2012 15:35
Игра "Охота" в паскале abc net vampir20096 Помощь студентам 0 06.05.2012 11:58
Очень нужна помощь по Turbo Pascal...Не могу составить програму,по теме:"Процедуры и файлы"...( Zara Помощь студентам 2 02.12.2008 18:23