المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : سؤال في الرياضيات


عبد الهادي بهاب
26-08-2017, 03:08 PM
السلام عليكم ورحمة الله وبركاته
عندي مجموعة ارقام في انبوتات او مصفوفة ......
ثم عندي انبوت للادخال ....

كيف ابحث عن الرقم المساوي او الاقرب اليه

مثال : عندي : 4.45.59.26.458.100.158.75
ثم اسال عن الرقم : 70
فيخبرني الكود ان الاقرب الى هذا الرقم هو 75

شكرا

ياسرهتهت
26-08-2017, 04:15 PM
بسم الله الرحمن الرحيم
نقوم بعمل حلقه تطرح الـ 70 من جميع عناصر المجموعة
مع اهمال اشارة + و -
والنتيجة ستكون اصغر قيمه لعملية الطرح

اكتب انت الحلقة اخي عبد الهادي
موفق بإذن الله ... لك مني أجمل تحية .

ثامر أبو بلقيس
26-08-2017, 06:24 PM
السلام عليكم ورحمة الله وبركاته
أسئلة من هذا النوع تتطلب الفكرة أولا

على كل سأحاول لكن الفكرة التالية محجوزة لغاية ترجمتها لكود:abc_085:
بعد دقائق إن شاء الله

الفكرة ببساطة :


ندخل العدد للمصفوفة أي نضيفه :abc_028:
بعدها نرتب المصفوفة :abc_139:
بعد شرط تساوي العدد مع العنصر المساوي له في المصفوفة
نستدعي العنصر الموالي :abc_102:
وصلت الفكرة أم مازال :abc_088:
- كما يمكن التحكم في أقرب العددين هل بالقيمة الأكبر أو الأصغر بعد المقارنة بينهما
لمعرفة الأنسب :abc_139:

الحل جاهز نقرأ أفكاركم :abc_139:

ثامر أبو بلقيس
26-08-2017, 08:39 PM
بسم الله الرحمن الرحيم
نقوم بعمل حلقه تطرح الـ 70 من جميع عناصر المجموعة
مع اهمال اشارة + و -
والنتيجة ستكون اصغر قيمه لعملية الطرح

اكتب انت الحلقة اخي عبد الهادي
موفق بإذن الله ... لك مني أجمل تحية .

70 - 69 = 1
71-70 = -1 وباهمال الاشارة = 1
ستكون هنااك حالات كهذه تعرقل البناء
الطريقة قد لا تؤدي إلى حل :abc_139:

ياسرهتهت
26-08-2017, 09:30 PM
70 - 69 = 1
71-70 = -1 وباهمال الاشارة = 1
ستكون هنااك حالات كهذه تعرقل البناء
الطريقة قد لا تؤدي إلى حل :abc_139:
------------------------------
بسم الله الرحمن الرحيم
كلام دقيق وجميل
بارك الله فيك
:abc_138::abc_138:

ممكن استاذي الفاضل ان تكتب لي الفكره
وكيف يمكن تجاهل + -
بشكل حلقة لانني احاول من ساعات ولم اعرف

:abc_152::abc_152:
:abc_138:

ثامر أبو بلقيس
26-08-2017, 09:36 PM
------------------------------
بسم الله الرحمن الرحيم
كلام دقيق وجميل
بارك الله فيك
:abc_138::abc_138:

ممكن استاذي الفاضل ان تكتب لي الفكره
وكيف يمكن تجاهل + -
بشكل حلقة لانني احاول من ساعات ولم اعرف

:abc_152::abc_152:
:abc_138:

رسمت لك خوارزمية (طريقة) للحل في مشاركتي 3 حاول تجسيدها
تكويدا مرحلة مرحلة :abc_138:

عبد الهادي بهاب
26-08-2017, 10:37 PM
بسم الله الرحمن الرحيم
نقوم بعمل حلقه تطرح الـ 70 من جميع عناصر المجموعة
مع اهمال اشارة + و -
والنتيجة ستكون اصغر قيمه لعملية الطرح

اكتب انت الحلقة اخي عبد الهادي
موفق بإذن الله ... لك مني أجمل تحية .

ناكد اني احاول
شكرا جزيلا
فكرة الطرح جميلة

عبد الهادي بهاب
26-08-2017, 10:38 PM
السلام عليكم ورحمة الله وبركاته
أسئلة من هذا النوع تتطلب الفكرة أولا

على كل سأحاول لكن الفكرة التالية محجوزة لغاية ترجمتها لكود:abc_085:
بعد دقائق إن شاء الله

الفكرة ببساطة :

المحتوى المخفي لايقتبس

شكرا على التلميح سنحاول الترجمة الى اكواد
بارك اله فيكم

ثامر أبو بلقيس
26-08-2017, 10:41 PM
شكرا على التلميح سنحاول الترجمة الى اكواد
بارك اله فيكم
التلميح محجوز :abc_088:
هات غير ذلك أحب قراءة أفكار مختلفة:abc_138:
اذ كنت مستعجلا ( أي تريد الحل لعمل نكتب لك الحل الان )

عبد الهادي بهاب
26-08-2017, 10:48 PM
محاولة من اجل العدد 70 في المصفوفة


ref = {15,26,58,75,114,2,70,56,922,45};
s1 = ""; s2 ="";
Table.Sort(ref,nil);
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n == v1 then
s1 = ref[i+1]; s2 = ref[i-1];
end end
Dialog.Message("","kabir".. s1 .."\r\n".."asrar"..s2)

عبد الهادي بهاب
26-08-2017, 10:51 PM
التلميح محجوز :abc_088:
هات غير ذلك أحب قراءة أفكار مختلفة:abc_138:
اذ كنت مستعجلا ( أي تريد الحل لعمل نكتب لك الحل الان )

لو كنت املك حلا لما طرحت السؤال اصلا
لكن ساحاول ان اجد خيطا اخر

https://pbs.twimg.com/profile_images/1601952368/untitled12.jpg

ثامر أبو بلقيس
26-08-2017, 10:52 PM
محاولة من اجل العدد 70 في المصفوفة


ref = {15,26,58,75,114,2,70,56,922,45};
s1 = ""; s2 ="";
table.sort(ref,nil);
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n == v1 then
s1 = ref[i+1]; s2 = ref[i-1];
end end
dialog.message("","kabir".. S1 .."\r\n".."asrar"..s2)


خطوات جيدة في الطريق الصحيح

ثامر أبو بلقيس
26-08-2017, 10:56 PM
لو كنت املك حلا لما طرحت السؤال اصلا
لكن ساحاول ان اجد خيطا اخر

https://pbs.twimg.com/profile_images/1601952368/untitled12.jpg

هنا أنا أعتذر ضننت السؤال تمرينا

موفق :abc_138:
- الحل يعالج أقرب عدد فعليا
- الحل يعالج اذا كان العدد المبحوث عنه موجود او غير موجود


----------- Le nombre le plus proche
t = {4,45,20,23,59,26,458,100,158,75}-----------
f1=70 -------------------------------------------
k='';Table.Insert(t, 1, f1)----------------------
Table.Sort(t, function(a,b) return a < b end)----
for i=1, Table.Count(t) do-----------------------
if t[i] ==f1 then-----ABOU_BELKISS 2017----------
p1 = Math.Abs(f1-t[i-1]);p2=Math.Abs(f1-t[i+1])--
if p1 < p2 then----------------------------------
k=t[i-1];else------ALGER LE 26 - 08 - 2017 ------
k=t[i+1];----------------------------------------
break;end;end;end--------------------------------
Dialog.Message("Le nombre le plus proche :",k)---

عبد الهادي بهاب
26-08-2017, 11:00 PM
بسم الله الرحمن الرحيم
نقوم بعمل حلقه تطرح الـ 70 من جميع عناصر المجموعة
مع اهمال اشارة + و -
والنتيجة ستكون اصغر قيمه لعملية الطرح

اكتب انت الحلقة اخي عبد الهادي
موفق بإذن الله ... لك مني أجمل تحية .

هذا ما توصلت اليه

ref = {15,26,58,75,114,20,56,922,45}; rep = {};
s1 = ""; s2 ="";
Table.Sort(ref,nil); e=1;
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
end
Table.Sort(rep,nil);
Dialog.Message("", rep[1])

عبد الهادي بهاب
26-08-2017, 11:05 PM
هنا أنا أعتذر ضننت السؤال تمرينا

موفق :abc_138:
- الحل يعالج أقرب عدد فعليا
- الحل يعالج اذا كان العدد المبحوث عنه موجود او غير موجود


----------- le nombre le plus proche
t = {4,45,20,23,59,26,458,100,158,75}-----------
f1=70 -------------------------------------------
k='';table.insert(t, 1, f1)----------------------
table.sort(t, function(a,b) return a < b end)----
for i=1, table.count(t) do-----------------------
if t[i] ==f1 then-----abou_belkiss 2017----------
p1 = math.abs(f1-t[i-1]);p2=math.abs(f1-t[i+1])--
if p1 < p2 then----------------------------------
k=t[i-1];else------alger le 26 - 08 - 2017 ------
k=t[i+1];----------------------------------------
break;end;end;end--------------------------------
dialog.message("le nombre le plus proche :",k)---




جميل جدا وواضح ربي يبارك في علمك

ثامر أبو بلقيس
26-08-2017, 11:07 PM
هذا ما توصلت اليه

ref = {15,26,58,75,114,20,56,922,45}; rep = {};
s1 = ""; s2 ="";
Table.Sort(ref,nil); e=1;
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
end
Table.Sort(rep,nil);
Dialog.Message("", rep[1])

ولتكن المصفوفة هي مثلا
ref = {15,26,69,75,114,20,56,922,45}

الناتج بالكود المنسوخ = 75 هل ترى انه الجواب الصحيح ؟
موفق :abc_139:

ثامر أبو بلقيس
26-08-2017, 11:21 PM
جميل :
ماهو العدد الأقرب إلى 10
في الأعداد
{1,2,3,4,5,6,7,8,9,145}

اذ أخبرتني أنها 145 أسحب كل كلامي المكتوب :abc_139:


https://b.top4top.net/p_603q8k5y1.jpeg

عبد الهادي بهاب
26-08-2017, 11:33 PM
ولتكن المصفوفة هي مثلا
ref = {15,26,69,75,114,20,56,922,45}

الناتج بالكود المنسوخ = 75 هل ترى انه الجواب الصحيح ؟
موفق :abc_139:

صحيح ..........الكوج جائما الى الامام .و لا ينظر خلفه
لذلك يجب تعديله بطريقة القيمة المطلقة التي وضعتها في الكود خاصتك

ثامر أبو بلقيس
26-08-2017, 11:38 PM
صحيح ..........الكوج جائما الى الامام .و لا ينظر خلفه
لذلك يجب تعديله بطريقة القيمة المطلقة التي وضعتها في الكود خاصتك

أنتظر تعديلك بالقيمة المطلقة أرغب في قراءته معدلا موفق :abc_139:

عبد الهادي بهاب
26-08-2017, 11:40 PM
ولتكن المصفوفة هي مثلا
ref = {15,26,69,75,114,20,56,922,45}

الناتج بالكود المنسوخ = 75 هل ترى انه الجواب الصحيح ؟
موفق :abc_139:

تعديل طويل

ref = {15,26,69,75,114,20,56,922,45} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);
s1 = Math.Min(rep[1] ,rep1[#rep1]);
Dialog.Message("","akbar ".. rep[1].."\r\n".."Asrar "..rep1[#rep1].."\r\n".."akrab "..s1)

عبد الهادي بهاب
26-08-2017, 11:42 PM
جميل :
ماهو العدد الأقرب إلى 10
في الأعداد
{1,2,3,4,5,6,7,8,9,145}

اذ أخبرتني أنها 145 أسحب كل كلامي المكتوب :abc_139:


https://b.top4top.net/p_603q8k5y1.jpeg

صحيح جدا جدا ........و طقل جميل جدا

ثامر أبو بلقيس
26-08-2017, 11:52 PM
من المؤكد أجمل من هذا :abc_080:



https://pbs.twimg.com/profile_images/1601952368/untitled12.jpg

ثامر أبو بلقيس
26-08-2017, 11:56 PM
تعديل طويل

ref = {15,26,69,75,114,20,56,922,45} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);
s1 = Math.Min(rep[1] ,rep1[#rep1]);
Dialog.Message("","akbar ".. rep[1].."\r\n".."Asrar "..rep1[#rep1].."\r\n".."akrab "..s1)

واذ رغبت في مواصلة الحوار البرمجي
في هذا الكود يطلع لي ثلاث قيم في المساج
المطلوب قيمة القرار النهائي من هو العدد الأقرب ؟ فالمستخدم هنا ينتظر العدد الأقرب ضمن المصفوفة :abc_138:
حددت العدد الأقرب بالزيادة
حددت العدد الأقرب بالنقصان
حددت العدد الأصغر بينهما
--- وقادر تزيد تحدد حتى أكبرهما و مجموعهما وطرحهما وووو ...
ومن بعد أين الاجابة الصحيحة ؟ و الاسيعتبر أنك وصلت للبحر و لم تسبح

عبد الهادي بهاب
27-08-2017, 12:16 AM
واذ رغبت في مواصلة الحوار البرمجي
في هذا الكود يطلع لي ثلاث قيم في المساج
المطلوب قيمة القرار النهائي من هو العدد الأقرب ؟ فالمستخدم هنا ينتظر العدد الأقرب ضمن المصفوفة :abc_138:
حددت العدد الأقرب بالزيادة
حددت العدد الأقرب بالنقصان
حددت العدد الأصغر بينهما
--- وقادر تزيد تحدد حتى أكبرهما و مجموعهما وطرحهما وووو ...
ومن بعد أين الاجابة الصحيحة ؟ و الاسيعتبر أنك وصلت للبحر و لم تسبح

هو القيمة الاخيرة s1 كما في الكود

ثامر أبو بلقيس
27-08-2017, 12:20 AM
هو القيمة الاخيرة s1 كما في الكود
اذا كان هذا ردك

ref = {1,2,3,4,5,6,7,12,145} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 10; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);
s1 = Math.Min(rep[1] ,rep1[#rep1]);
Dialog.Message("",s1)
من المفروض أحصل كمستعمل للكود على أقرب عدد للــ 10
ما رأيك ؟

ثامر أبو بلقيس
27-08-2017, 12:25 AM
وذا أحببت طبقه على مصفوفتك الأولى في بداية السؤال
ref = {4,45,20,23,59,26,458,100,158,75} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);
s1 = Math.Min(rep[1] ,rep1[#rep1]);
Dialog.Message("",s1)

عبد الهادي بهاب
27-08-2017, 12:26 AM
اذا كان هذا ردك

ref = {1,2,3,4,5,6,7,12,145} ; rep = {}; rep1 = {};
s1 = "";
table.sort(ref,nil); e=1; e1=1;
v1 = 10; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
table.sort(rep,nil); table.sort(rep1,nil);
s1 = math.min(rep[1] ,rep1[#rep1]);
dialog.message("",s1)
من المفروض أحصل كمستعمل للكود على أقرب عدد للــ 10
ما رأيك ؟

صحيح ووو توقف حمار الشيخ عند العتبة

سنواصل مع كونان

ثامر أبو بلقيس
27-08-2017, 12:28 AM
شوفت كيفاه صديقي العزيز لذلك عد لردي على الأستاذ ياسر في المشاركة 4

بالتوفيق أعزائي :abc_138:


تم تحرير المحتوى المخفي نلتقي بود في أفكار اخرى

عبد الهادي بهاب
27-08-2017, 12:35 AM
وذا أحببت طبقه على مصفوفتك الأولى في بداية السؤال
ref = {4,45,20,23,59,26,458,100,158,75} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 70; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);
s1 = Math.Min(rep[1] ,rep1[#rep1]);
Dialog.Message("",s1)


تعديل لحل المشكل
ref = {1,2,3,4,5,6,7,11,145} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 10; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);

if Math.Abs(rep[1] - v1) < Math.Abs(v1 - rep1[#rep1]) then s1 = rep[1]
elseif Math.Abs(rep[1] - v1) == Math.Abs(v1 - rep1[#rep1]) then s1 = rep1[#rep1] .."-"..rep[1]
else s1 = rep1[#rep1] end
Dialog.Message("",s1)

عبد الهادي بهاب
27-08-2017, 12:36 AM
شوفت كيفاه صديقي العزيز لذلك عد لردي على الأستاذ ياسر في المشاركة 4

بالتوفيق أعزائي :abc_138:


تم تحرير المحتوى المخفي نلتقي بود في أفكار اخرى

شكرا استاذ على الدعم و المتابعة
ربي يبارك في علمكم

ثامر أبو بلقيس
27-08-2017, 12:38 AM
تعديل لحل المشكل
ref = {1,2,3,4,5,6,7,11,145} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 10; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);

if Math.Abs(rep[1] - v1) < Math.Abs(v1 - rep1[#rep1]) then s1 = rep[1]
elseif Math.Abs(rep[1] - v1) == Math.Abs(v1 - rep1[#rep1]) then s1 = rep1[#rep1] .."-"..rep[1]
else s1 = rep1[#rep1] end
Dialog.Message("",s1)

واذ كان العدد متصمن (مشكل آخر )

ref = {1,2,3,4,5,6,7,10,11,145} ; rep = {}; rep1 = {};
s1 = "";
Table.Sort(ref,nil); e=1; e1=1;
v1 = 10; ------------cible
for i, n in pairs(ref) do
if n - v1 >=0 then rep[e] = n ; e=e+1;end
if v1 - n >= 0 then rep1[e1] = n ; e1=e1+1;end
end
Table.Sort(rep,nil); Table.Sort(rep1,nil);

if Math.Abs(rep[1] - v1) < Math.Abs(v1 - rep1[#rep1]) then s1 = rep[1]
elseif Math.Abs(rep[1] - v1) == Math.Abs(v1 - rep1[#rep1]) then s1 = rep1[#rep1] .."-"..rep[1]
else s1 = rep1[#rep1] end
Dialog.Message("",s1)

أنا لا أنتقد فقط داير حساب يجي من يستعمل الكود مستقبلا

عبد الهادي بهاب
27-08-2017, 01:06 AM
واذ كان العدد متصمن (مشكل آخر )

أنا لا أنتقد فقط داير حساب يجي من يستعمل الكود مستقبلا

صحيح ....في التعديل فكرت في كون القيمة الصغرى و الكبرى متساويتين فسيعرضهما معا و كذلك للعدد المتضمن في المصفوفة

المـهاجر
28-08-2017, 03:40 AM
السلام عليكم
هل يحتاج الحل لحجز كل هذه المصفوفات ؟
هل يحتاج لحجز كل هذه المتغيرات ؟
هل لابد من Table.sort ؟
هل ستفلح Table.sort فى جلب الاندكس الأصلى للعنصر فى مصفوفته الأصلية ؟ ام ستعقد الأمور ؟

ماذا لو كان سؤالك عن القيمة و الاندكس الخاص بها ؟؟
لا ارى اى سبب لاقحام Table.sort فى الحل
موفق

عبد الهادي بهاب
28-08-2017, 10:59 AM
السلام عليكم
هل يحتاج الحل لحجز كل هذه المصفوفات ؟
هل يحتاج لحجز كل هذه المتغيرات ؟
هل لابد من table.sort ؟
هل ستفلح table.sort فى جلب الاندكس الأصلى للعنصر فى مصفوفته الأصلية ؟ ام ستعقد الأمور ؟

ماذا لو كان سؤالك عن القيمة و الاندكس الخاص بها ؟؟
لا ارى اى سبب لاقحام table.sort فى الحل
موفق

عصرت مخي و لم تخرج الا على هذا الحل ...و انتم اعلم و منكم نتعلم استاذ

المـهاجر
28-08-2017, 11:08 AM
عصرت مخي و لم تخرج الا على هذا الحل ...و انتم اعلم و منكم نتعلم استاذ
هذا لأنك اتبعت فكرة بعيدة جدا عن الصواب
تدبر التالى بعناية
1- اى كود وظيفته هى حل مشكلة برمجية
2- المشكلة البرمجية تحدد نفسها من منطوقها
3- الأكواد تكتب لتجسد المنطوق و ليس شيئ آخر

ستجد عندها انك غير مضطر لكتابة كود من 27 سطر (بدون دمج)
و ستجد ان الأمر لا يتطلب اكثر من 12 سطر

تلميح عن خطأ الفكرة المتبعة
أين فى منطوق سؤالك انك تبحث عن قيمة مطلقة ؟؟
انت تبحث عن القيمة الأقرب (قيمة نسبية و ليست مطلقة)
و لهذه سيناريو مختلف تماما

ثامر أبو بلقيس
28-08-2017, 02:30 PM
إليك بحل رياضي آخر
استمتع بهذا الحل الذي استعملت فيه مقاربة distance de manhattan

t = {4,45,20,23,69,26,458,75,158}
x= 70
tamer = 1
belkiss = Math.Abs(x-t[1]);
--------------------------
for i = 2, Table.Count(t) do
if Math.Abs(x-t[i]) < belkiss then
tamer = i
belkiss = Math.Abs(x-t[i]);
end
end
Dialog.Message("", t[tamer]);

:abc_156: نقرأ حلولكم

المـهاجر
28-08-2017, 02:42 PM
بسم الله الرحمن الرحيم

val = 76
array = {4,45,59,26,458,100,158,75}
max = math.max(unpack(array))
mohager={max,0,0}
for a,z in pairs(array) do
dif = Math.Abs(z-val)
if dif < mohager[1] then
mohager[1]=dif
mohager[2]=z
mohager[3]=a -- this line for store the index
end
end
Dialog.Message("Mohager", "The Nearest Number To "..val.." is the number "..mohager[2] .."\r\n far away with "..mohager[1].." step \r\n in The index "..mohager[3]);

عبد الهادي بهاب
28-08-2017, 03:03 PM
إليك بحل رياضي آخر
استمتع بهذا الحل الذي استعملت فيه مقاربة distance de manhattan

t = {4,45,20,23,69,26,458,75,158}
x= 70
tamer = 1
belkiss = math.abs(x-t[1]);
--------------------------
for i = 2, table.count(t) do
if math.abs(x-t[i]) < belkiss then
tamer = i
belkiss = math.abs(x-t[i]);
end
end
dialog.message("", t[tamer]);

:abc_156: نقرأ حلولكم

بسم الله الرحمن الرحيم

val = 76
array = {4,45,59,26,458,100,158,75}
max = math.max(unpack(array))
mohager={max,0,0}
for a,z in pairs(array) do
dif = math.abs(z-val)
if dif < mohager[1] then
mohager[1]=dif
mohager[2]=z
mohager[3]=a -- this line for store the index
end
end
dialog.message("mohager", "the nearest number to "..val.." is the number "..mohager[2] .."\r\n far away with "..mohager[1].." step \r\n in the index "..mohager[3]);

اكواد جد متميزة من حيث البناء ......لا نتوقع اقثل من هذا المستوى من الاساتذة
نتعلم من خبايا هذه الاكواد بوركتم