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

مشاهدة النسخة كاملة : سؤال في البرمجه( فيجول++C)......



سمو
11-02-2004, 06:00 PM
السلام عليكم
اللي يعرف يحل السؤال يتكرم علينا بحله مع الشرح

وشكرا

هذا السؤال:
لتكن: a مصفوفه ذات بعدين 10 في 20 من نوع double حجمها col في row.
لتكن: b مصفوفه ذات بعدين من ثلاثة اعمده وعدد صفوفها sized.
لتكن: x وy مصفوفتين كل منهما ذات بعد واحد وحجمها sizexو sizey على التوالي.

1) اكتب الداله get Mat التي ترجع a وrow و col حيث تقرا row و col ثم تقرأ عناصر a ؟
2) اكتب الداله compress التي تستقبل a و row و col وترجع b و sizeb حيث تنقل جميع عناصر a ماعدا الرقم صفر الى b لكل عنصر تضع قيمته وصفه وعموده في اعمدة b الاولى والثانيه والثالثه على التوالي؟
3) اكتب الداله pivot التي تستقبل a و row و col وترجع اكبر قيمة مطلقه في a ؟
4) اكتب الداله divide التي تستقبل a و row و col وترجع x و y و sizex و sizey حيث تحتوي x على عناصر a الواقعه في صفوف فرديه وأعمده زوجيه وتحتوي y على جميع العناصر الواقعه في صفوف زوجيه (افترض الصفر رقما زوجيا)؟
5) اكتب الداله printMat التي تستقبل a و row و col وتطبعها.
6) اكتب الداله squeeze التي تستقبل مصفوفه ذات بعد واحد وحجمها ثم تحذف منها الرقم صفرا (قد يكون متكررا )؟
7) اكتب برنامجا يحجز المصفوفات االسابقه ثم يستدعي الدوال السابقه:
• يستخدم getMat ليقرا ارقاما في a ثم يطبعها مستخدما print Mat.
• يستخدم compress لينشىء المصفوفه b ثم يطبعها مستخدما printMat .
• يستخدم findpivotلايجاد اكبر قيمه مطلقه في a واكبر قيمه مطلقه في b ويطبعهما.
• يستخدم divide لينشىء المصفوفتين x و y ثم يطبعهما.
• يستخدم squeeze لحذف الصفر من المصفوفتين x وy ثم يطبعهما.
ملاحظه: يمكنك كتابة دوال اضافيه.

سمو
18-02-2004, 06:01 PM
افا ماحد يعرف السؤال.