Помощь - Поиск - Пользователи - Календарь
Полная версия: Графика в паскале!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
MagicPRO
Помогите кто-то с заданием!!!!!Нужно сортировать заданый массив фигур(треугольник,квадрат,круг) методом перестановки!Помогите пожалуста!!!
volvo
Критерий сортировки, например, треугольников, приведи? А что больше - треугольник или квадрат?
klem4
Что-то на подобии этого ?

uses crt;

const
n = 6;

type

TFigure = (Triangle, Rectangle, Circle); (* 0, 1, 2*)

var

f: array [1..n] of TFigure = (

Triangle, Circle, Circle, Rectangle, Circle, Triangle

);

var

i, j: Integer;
temp: TFigure;

begin

clrscr;

for i := 1 to n - 1 do
for j := i + 1 to n do
if f[i] >= f[j] then begin
temp := f[i];
f[i] := f[j];
f[j] := temp;
end;

for i := 1 to n do
writeln(ord(f[i]));

readln;

end.
мисс_граффити
и, желательно, уточнение, как задаются фигуры.
volvo
Может, и что-то такое:
uses crt;

const
n = 6;

type
PTFigure = ^TFigure;
TFigure = object
end;

PTTriangle = ^TTriangle;
TTriangle = object(TFigure)
end;
PTRectangle = ^TRectangle;
TRectangle = object(TFigure)
end;
PTCircle = ^TCircle;
TCircle = object(TFigure)
end;


function Less(const a, b: PTFigure): boolean;
begin
Less := true;
// Сравнение по какому-то признаку
end;

var
f: array[1 .. n] of PTFigure;

var
i, j: Integer;
T: PTFigure;

begin
clrscr;
for i := 1 to n do begin
j := random(3) + 1;
case j of
1: f[i] := new(PTTriangle);
2: f[i] := new(PTRectangle);
3: f[i] := new(PTCircle);
end;
end;

for i := 1 to n - 1 do
for j := i + 1 to n do
if not Less(f[i], f[j]) then begin

T := f[i]; f[i] := f[j]; f[j] := T;

end;

// Вывод данных
// Деструкторы
readln;

end.
MagicPRO
Я не знаю, я на С работаю, а дали в универе задание по паскалю, мне не охота в нем шарится! Напиши пожалуста любой какой-то код шоб хоть работал а дальше я уже сам расшарюсь когда будет время!фигуры поидее одного размера должны быть
klem4
Ну в принципе 2 предположения есть, смотри посты #3 и #5 открываю их ...

Опятьже слишком мало информации о задании.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.