01-07-2009, 10:34 PM
Dr.MOT كتب :حسنا ما المشكلة ؟
أرجـو التوضيح قليلا !
شكرا لاهتمامك

كل ما في الأمر أنني حاولت صياغة دالة تقوم بترتيب عناصر مصفوفة عددية :
PHP كود :
const TABLEAU: array[0..11] of integer = (2, 12, 98, 35, 4, 76, 30, 1, 54, 81, 26, 44);
الطريقة مفهومة لكن أتعرض لأخطاء أثناء صياغة الكود
والمبدأ يعتمد على المقارنة ثم قلب المواضع كيف ذلك ؟ ... نقوم بمقارنة أول عناصر المصفوفة بباقي العناصر
في حالة وجد أصغر منه يتم قلب المواضع ثم ننتقل للعنصر الثاني ونقارنه بالبقية .... وهكذا..
تبقى الحلقة حتى يتم الترتيب من الأصغر إلى الأكبر..
المهم إستعملت الطريقة التالية
PHP كود :
const TABLEAU: array[0..11] of integer = (2, 12, 98, 35, 4, 76, 30, 1, 54, 81, 26, 44);
var i, j, Temp: integer;
begin
for i := 0 to High(TABLEAU) - 1 do
for j := (i + 1) to High(TABLEAU) do
begin
if TABLEAU[i] > TABLEAU[j] then
begin
Temp := TABLEAU[i];
TABLEAU[i] := TABLEAU[j];
TABLEAU[j] := Temp;
end;
end;
for i := 0 to 11 do
Memo1.Lines.Add(IntToStr(TABLEAU[i]));
يعطيني ×طأ أثناء تحويل المواضع هنا :
PHP كود :
Temp := TABLEAU[i];
TABLEAU[i] := TABLEAU[j];
TABLEAU[j] := Temp;

