كيف نعرف مصفوفة ذات قيم ثابتة ومن نوع Integer
#1
السلام عليكم


أولا حياكم الله وبياكم وجعل الجنة مثواكم لما تبذلوه من جهد في نشر العلم
وبارك الله لكم في هذا الصرح العربي المتألق ونسأل الله أن يجازيكم عنا خير الجزاء
==============================================

إستفسار :
لتعريف مصفوفة ذات قيم ثابتة ومن نوع String نقوم بالتالي :

PHP كود :
const ArrayTest: array[0..4] of string = ('Hello', 'Test', 'AT4RE', 'Delphi4Arab', 'Bye'); 

السؤال : كيف نعرف مصفوفة ذات قيم ثابتة ومن نوع Integer


والسلام عليكم
الرد
#2
وعليكم السلام
إذا لم يكن هذا ما تبحث عنه:
PHP كود :
const
  
ArrayTest: array[0..4] of Integer = (12, 10, 3, 15, 45); 
فوضح أكثر.
الرد
#3
جزاك الله خيرا هذا هو المطلوب ... كنت أقوم بنفس الشء وكان يظهر لي خطأ .

لكن المشكل كان من نوع المتغير الذي اسند له قيم المصفوفة

بارك الله فيك أخي
الرد
#4
السلام عليكم ,,

كالتالي :

PHP كود :
const  m:array[0..4] of integer =(5,4,3,2,1); 
شكوت إلى وكيع سوء حفظي ... فأرشدني إلى ترك المعاصي
وأخــبـرنـي بــأن الـعـلـم نـور ... ونـور الله لا يـهدى لـعـاصي
الرد
#5
سبقني الأخ آسف للتو رأيت الرد : )

إقتباس :كنت أقوم بنفس الشء وكان يظهر لي خطأ .

ربما قد وضعت علامة ' بين الأرقام ؟

هكذا ('2','3','4') ؟
شكوت إلى وكيع سوء حفظي ... فأرشدني إلى ترك المعاصي
وأخــبـرنـي بــأن الـعـلـم نـور ... ونـور الله لا يـهدى لـعـاصي
الرد
#6
أنا أحاول ترتيب عناصر مصفوفة من نوع Integer
الرد
#7
Dr.MOT كتب :حسنا ما المشكلة ؟

أرجـو التوضيح قليلا !

شكرا لاهتمامك Smile
كل ما في الأمر أنني حاولت صياغة دالة تقوم بترتيب عناصر مصفوفة عددية :
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; 
الرد
#8
من خلال نظرة سريعة ::

I من 0 الى طول المصفوفة - 1 = 11

ولكن انتبه :

عندما يصل I الى ال 11 >>

سيكون J = i + 1 ... = 12

و بالتالي خرجت عن حدود المصفوفة ... فلايوجد J[12]s

بالتوفيق
الرد
#9
يمكن أنجاز العملية من خلال الكود التالي ووفق اي طول للمصفوفة :

PHP كود :
Uses ... Math;

procedure TForm1.Button1Click(Sender: TObject);
Const
ArrInt: Array [0..11] Of Integer = ( 100,55,66,74,1,8,5,9,133,557,88,914);
var
I,M,N:Integer;
J:Variant;
ordArr:Array of integer;
begin
J
:= 0; M:= 0; N:= 0;

For 
I:= 0 To Length(ArrInt) -1 Do
    If 
Length(inttostr(ArrInt[I])) > J Then J:= Length(inttostr(ArrInt[I]));


J:= Power(10,J);

SetLength(OrdArr,Length(arrint));

For 
I:=0 To J Do
    For 
M:= 0 To Length(ArrInt) -1 Do
         if 
ArrInt[M] = I Then
                 begin
                 OrdArr
[N]:= ArrInt[M];
                 
N:= N+1;
                 
end;

Memo1.Clear;
For 
I:=0 To Length(OrdArr) -1 do
   
Memo1.Lines.Add(inttoStr(OrdArr[I]));

end; 
الرد
#10
hichampro كتب :أنا أحاول ترتيب عناصر مصفوفة من نوع Integer
يمكنك الاطلاع على الموضوع
http://www.delphi4arab.net/forum/showthr...?tid=11583
http://www.delphi4arab.net/forum/showpos...ostcount=4
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم