يا ترا ممكن حدا من الشباب
يرجع يفكر بالتمرين او يشوف شو هو الحل
لو سمحتوا اخواتي
كتير مضطر عليه حاليا قبل الساعة 2
وشكرا جزيلاً
يا ترا ممكن حدا من الشباب
يرجع يفكر بالتمرين او يشوف شو هو الحل
لو سمحتوا اخواتي
كتير مضطر عليه حاليا قبل الساعة 2
وشكرا جزيلاً
السلام عليكم
شباب ما حدا ساعدنا
وانا كتير مضطر عليه اليوم او هلق
من بعد إذنكم بدي كود برنامج على الـ Q BASIC
لإدخال مصفوفتين ومن ثم مصفوفة ناتج ضرب هاتين المصفوفتين
وانا مضطر عليه ومستعجل كتييييييير اليوم او الأن بسرعة
ولا تأخذونا وشكرا كتير الكم
بالنسبة لبداية الكود انا اشتغلت عليه
وبعتقد اني صحيحة البداية بس مش متأكد
الكود بدايتو على الشكل التالي:
cls
dim a(m,n)
dim b(k,f)
input m,n
input k,f
if m=f then
for i=1 to m
for j=1 to n
input a(i,j)
next j
next i
for i=1 to k
for j=1 to f
input b(i,j)
next j
next i
هي بالنسبة لإدخال المصفوفتين
بس فضل احجز مكان للمصفوفة التالية وانشئ مصفوفة جديدة ناتجة عن ناتج ضرب المصفوفتين
يا شباب بس بدي انا المصفوفة التالتة
وهي مثال عن المصفوفات
المصفوفة الثانية المصفوفة الأولى
| a11 a12 a13| ...| b11 b12 |
| a21 a22 a23| ×. | b21 b22 |
| b31 b32|
=
المصفوفة الثالثة
|a11b11+a12b21+a13b31 .........a11b12+a12b22+a13b32|
|a21b11+a22b21+a23b31.......... a21b12+a22b22+a23b32|
اخوكم محمد
بسم الله الرحمن الرحيم
عملية الضرب بسيطه وليست صعبة لهذا الحد على أساس أن المصفوفة مربعة
جرب الكود التالي
For i = 1 To 4 For j = 1 To 4 For x = 1 To 4 c(i,j) = a(i,x)* b(x,j) + c(i,j) Next x Next j Next i
مع ملاحظة على طريقة تعريف المصفوفات في برنامجك حيث أنني لا أتوقع أن يمشي الحال على هالأساس
كتبته على السريع ولم أجربه
ستحتاج لتعديل شيء بسيط لكي يعمل على أساس مصفوفات بشكل عام
عذرا فأنا مشغول كثير هالأيام لذا قد لا أقدر على مساعدتك أكثر
أمنياتي لك بالتوفيق
والسلام عليكم ورحمة الله وبركاته
تم تعديل هذه المشاركة بواسطة البريشي في 11 يوليو 2007 في 14:26
********************* ******************** *********************
(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))
********************* ******************** *********************
لا تقـل من أيـن أبدأ
طـاعـة الله الـبدايـة
***
لا تقـل أين طـريـقي
شــرع الله الهـدايـة
***
لا تـقـل أيـن نعـيمي
جـنـة الله كـفـايـــــة
***
لا تقـل في الغـد أبدأ
ربمـــا تأتـي النهـايـــة
**************** **************** ****************
أخي البريشي
بدون تجربة الكود .. وبمجرد النظر إليه .. ستجد أنه مليان بالأخطاء ..
أخي محمد ..
أن أسف جداا .. لإني كان لازم أدخل أنام علشان لما أصحي أفكرلك في أسهل وأقل كود يمكن كتابته لحل هذه المسألة .. لإني كنت وصلت لمرحلة كبيرة من عدم التركيز ..
وأنا وصلت لأقل كود يمكن كتابته بالفعل .. وأفضل بكثير من الكود اللي كنت عامله امبارح .. واللي لو كنت بصيت عليه .. كان ممكن يجيلك سكتة قلبية ..
علي العموم مرفق الكود بلغة فيجوال بيسيك .. وإذا كنت ما زلت بحاجة إليه .. فسأحوله لك للـ Quick Basic
وأنا أسف مرة أخري ..
بسم الله الرحمن الحيم
أخي العزيز Pharaonic_Guy
اقتباسبدون تجربة الكود .. وبمجرد النظر إليه .. ستجد أنه مليان بالأخطاء ..
كل احترامي لرأيك في الكود لكن جربه بس بعد ما تقرأ كيف تكون عملية ضرب المصفوفات قليلا لوجدت أن الحل صحيح مع ملاحظة أنه يعالج المصفوفات المربعة أي أن المصفوفتان لهما نفس الطول والعرض وهو في المثال 4
بالنسبة لتحفظي على عدم معرفتك بكيفية الضرب في المصفوفات فإن ناتج ضرب المصفوفتان في مثالك يجب أن يكون مصفوفة 2×2 وتأكد من ذلك
حيث أن ضرب المصفوفات يكون كالتالي :
- يجب أن يكون عدد الأعمدة في المصفوفة الأولى يساوي عدد الصفوف في المصفوفة الثانية
- تكون المصفوفة الناتجة عدد صفوفها يساوي عدد صفوف المصفوفة الثانية وعدد أعمدتها يساوي عدد أعمدة المصفوفة الأولى
اذا
المصفوفة الأولى
الصفوف 3
الأعمدة 2
المصفوفة الثانية
الصفوف 2
الأعمدة 3
المصفوفة الناتجة عن الضرب
الصفوف 2
الأعمدة 2
سأحاول حل البرنامج كاملا ثم ارفقه
********************* ******************** *********************
(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))
********************* ******************** *********************
لا تقـل من أيـن أبدأ
طـاعـة الله الـبدايـة
***
لا تقـل أين طـريـقي
شــرع الله الهـدايـة
***
لا تـقـل أيـن نعـيمي
جـنـة الله كـفـايـــــة
***
لا تقـل في الغـد أبدأ
ربمـــا تأتـي النهـايـــة
**************** **************** ****************
كل احترامي لرأيك ..
سوري يا مان فهمت قصدك الآن ..
أنا كنت بأحسب علامة الجمع التي وضعها بين الحقول علامة فاصلة ليس إلا ..
علي العموم ما زال الكود الذي كتبته صحيح ..
فقط تعديل بسيط وجمع الصفوف .. لتخرج المصفوفة النهائية المطلوبة ..
تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 12 يوليو 2007 في 12:43
أخي العزيز
هذا هو الكود الذى تبحث عنه تكملة لكود ادخال المعطيات الذى أدخلته
For I = 1 To N
For J = 1 To K
C(J, I) = 0
For NUM = 1 To M
(C(J, I) = C(J, I) + A(NUM, I) * B(J, NUM
Next NUM
Next J
Next I
ملحوظة:-
(C(J,I هى صحيحة هكذا ولاتحاول تعديلها الى (C(I,J
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــة ،،
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
شكراً لك اخي الكريم
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…