اكثر المحتويات زيارة
الدوال في الاكسل (4,677 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (3,234 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (2,422 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (1,868 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (1,707 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (1,672 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (1,663 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,578 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,379 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,321 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,317 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,154 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,137 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,099 مشاهده)
درس تعريب المجلة (1,080 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,067 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,062 مشاهده)
التعرف على مكونات الكمبيوتر (1,037 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (984 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (910 مشاهده)
مقدمة عن لغة البيسك (901 مشاهده)
ما هو المات لاب MATLAB؟ (892 مشاهده)
الفيجوال بيسك - مقدمة (867 مشاهده)
دروس في الأوفيس الأكسس - Access0- (841 مشاهده)
نبذه عن الفيجوال بيسك (795 مشاهده)
الجديد
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (494 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (285 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (303 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (435 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (385 مشاهده)
دمج المراسلات0-- (199 مشاهده)
وضع صورة كخلفية للنص0-- (289 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (223 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (344 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (261 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (743 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (441 مشاهده)
أساسيات في Access0--0 (286 مشاهده)
تصميم تقرير لطباعة البيانات0---- (343 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (320 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (340 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (290 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (234 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (240 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (284 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (249 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (144 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (174 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (206 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (258 مشاهده)
البحث

من هنا وهناك
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
كلمات البحث
المصفوفة , المتناثرة , مصفوفة , الأصفار , Sparse , Matrix ,  ابحث ايضا عن تعلم المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 دروس المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 تعليم المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 درس المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 لتعليم المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 شروح المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 تدريس المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 تعلمي المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 شرح المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 تعليمي المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 معلم المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 كيفية المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 الدرس المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 الشرح المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 الدروس المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 تعلمي المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 علم المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 لشرح المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1 فهم المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1
المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1



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



 



المصفوفة المتناثرة أو مصفوفة الأصفار ( Sparse Matrix ) :




لو ألقينا نظرة على المصفوفة التالية التي تحوي 6 صفوف و6 أعمدة وتتكون من : 6x 6 = 36 عنصر  :






سيتضح لنا من الوهلة الأولى أن أكثر عناصر هذه المصفوفة عبارة عن " أصفار " ؛ تسمى المصفوفة  التي أكثر عناصرها أصفار  بـمصفوفة الأصفار أو المصفوفة المتناثرة " Sparse Matrix " .. ومن الصعب علينا تحديد ما إذا كانت المصفوفة عبارة عن Sparse Matrix أو لا .. ولكن يتضح لنا ذلك عن طريق النظر ؛ ففي المصفوفة السابقة يوجد فقط 8 عناصر لا تساوي الصفر من أصل  36 عنصر ؛  بينما البقية كلها أصفار ..
تستخدم الـ Sparse Matrix لتوفير المساحة في الذاكرة حيث نستطيع تخزين العناصر الغير مساوية للصفر فيها ففقط ؛ وذلك من خلال استخدام مصفوفة وحيدة لكل عنصر من عناصرها يوجد 3 صفات هي : الصف والعمود والقيمة الخاصة به  ؛ ويتم ذلك عن طريق استخدامنا لـStructure   يحوي هذه الصفات  ؛ كالتالي :
 



#define MAX_TERMS 10 /* maximum number of terms + 1 */
typedef struct {
  int row ;
  int col ;
  int value ;
  } sparse;
sparse a[MAX_TERMS] ;




ولكن يجب أن نراعي هنا أن ترتيب العناصر في هذه المصفوفة الوحيدة سيكون تابع لأحد هذه الصفات وهو الصف " row  " و لابد من أن يكون  تصاعدياً ..
ملاحظة : لتتعلم أكثر عن الـ Structures راجع هذا الدرس للأخ طلال : السجلات في سي " Structures in C "




إذن .. يتضح لدينا أن تعريف الـ Sparse Matrix كما هو موجود في قاموسنا كالتالي :
مصفوفة ذات بعد واحد تحوي الكثير من العناصر المتشابهة ، والتي غالباً ما تساوي صفر. ، لكل عنصر فيها ثلاث صفات : الصف ، العمود ، والقيمة التي تسند إليه .



* Sparse_Matrix : a set of triples < row , col , value > , where row & column are integers & from a unique combination , & value comes from the set item .
* Sparse_Matrix Create(max_row , max_col) ::= return a Sparse_Matrix that can hold up to max_item = max_row X max_col ,& whose maximum row size is max_row , & whose maximum column size is max_col.



ومن هنا نستطيع إعادة رسم الـ Sparse Matrix كما في الشكل التالي :





حيث أن a[0].row تحتوي عدد الأسطر الكلي للمصفوفة الأصلية ( في هذا المثال = 6 ) , كذلك a[0].col فهي تحوي عدد الأعمدة الكلي للمصفوفة الأصلية ( في هذا المثال = 6 ) , وأيضاً a[0].value عدد العناصر الغير مساوية للصفر فقط ( في هذا المثال = 8 ) .
ولكي نعرف رقم الصف لأي عنصر ننظر لـ Field row , وبالمثل إذا أردنا أن نعرف رقم العمود فننظر لـ Field col وستكون قيمة هذا العنصر مخزنة في Field value . والثلاثي < row , col , value > سيكون مرتب في المصفوفة على حسب الصفوف " تصاعدياً " كما ذكرنا سابقاً ..
ولكن كيف نستطيع كتابة شيفرة لإنشاء هذه المصفوفة بلغة السي ؟ هذا ما سنعرفه ان شاء الله خلال الاسطر التالية : سنقوم بالبداية بإنشاء Structure مشابه للمذكور أعلاه .. وسنفترض في مثالنا الحالي أن المصفوفة مكوّنة من 3 صفوف و3 أعمدة ..
وبعد ذلك نسمح للمستخدم بإدخال العناصر كمصفوفة عادية شريطة أن تكون أكثرها مساوية للصفر ونطبع المصفوفة بالطريقة التقليدية العادية :



 Part1:



 



//------------------((( Sparse Matrix )))---------------
#include
#define MAX_TERM 10
typedef struct {
   int row ;
   int col ;
   int val ;
   } sparse;



int main()
{
    sparse a[MAX_TERM]; //  تعريف المصفوفة الصفرية 
   
int b[3][3] ;  //  تعريف مصفوفة عادية
    int i, j, count ;
    printf("Plz. Enter the element one by one with press Enter :\n");
    for (i=0 ; i <3 ; i++ ) {
       for (j=0 ; j <3 ; j++ ) {
          scanf("%i",&b[i][j]) ;
        } // end j loop
   
} // end i loop



//------------>--------------- -
    printf("\n**********************************\n\nNormal_Mat rix is : \n") ;
    for (i=0 ; i <3 ; i++ ) {
        for (j=0 ; j <3 ; j++ ) {
           printf("%i \t",b[i][j]) ;
        } // end j loop
       
printf("\n") ;
    } // end i loop



 




بعد ذلك .. نقوم بإنشاء الـ Sparse Matrix ؛ نخزّن في البداية عدد الصفوف الكلي وعدد الأعمدة الكلي  في كل من  a[0].row  و a[0].col .. ثم نضع عداداً  = 1  كفهرس لكي نبدأ التخزين ..
نقوم بعمل Loop يمّر على كل عناصر المصفوفة العادية ويسأل ما إذا كان هذا العنصر مساوياً للصفر أما لا ؟
إذا اتضح أن العنصر لا يساوي الصفر .. نقوم بتخزين رقم الصف الموجود فيه هذا العنصر وكذلك رقم العمود ثم نخزّن قيمة العنصر باستخدام  العداد الذي جعلنا قيمته =1 كفهرس  لأول عنصر يقابلنا غير مساوي للصفر  .. ثم نزيد قيمة العداد بواحد لكي يفهرس العنصر المخزن الجديد .. وهكذا إلى أن ننتهي من جميع عناصر المصفوفة الأصلية .
الآن قمنا بتخزين جميع القيم الغير مساوية للصفر في الـ Sparse Matrix  ولكن يتبقى Field واحد لم نخزّن به شئ .. أتعلمون ما هو ؟
إنه الـ Field  الخاص بعدد العناصر الغير مساوية للصفر في المصفوفة الأصلية (a[0].val ) .. ونستطيع معرفة عدد العناصر الغير مساوية للصفر من خلال العداد الذي فهرس العناصر ..
 ولكن نلاحظ هنا أن هذا العداد داخل Loop عندما انتهى التخزين قد زادت قيمته بواحد على عدد العناصر الغير مساوية للصفر ؛ فيجب علينا أن نقوم بانقاص قيمته بمقدار واحد ثم نخزنها في a[0].val ...
 إذن ؛ نستطيع طباعة المصفوفة المتناثرة الناتجة لدينا ..  وذلك بإضافة  الكود التالي للكود السابق  :  
 



 Part2:



 



//------------>----------------
a[0].row=3 ;
a[0].col=3 ;
count=1;
for (i=0 ; i <3 ; i++ ){
 for (j=0 ; j <3 ; j++ ){
  if ( b[i][j]!= 0 ){
   a[count].row=i ;
   a[count].col=j ;
   a[count].val=b[i][j] ;
   count++;
  } // end if
 
} // end j loop
} // end i loop
a[0].val=count-1 ;
printf("\n*******************\n\nSparse_Matrix is : \nrow\tcol\tvalue\n---------------------\n") ;
 for ( i=0 ; i
    printf("%i\t",a[i].row) ;
    printf("%i\t",a[i].col) ;
    printf("%i\n",a[i].val) ;



 }



 return 0;



}// end of main



 




وهكذا .. نكون قد وفرنا الذاكرة لدينا عند استخدام مثل هذه المصفوفات في حل المشكلات الكبيرة ..




أتمنى أن أكون وفقت في الشرح .. وسنتعرض لعملية تدوير المصفوفة المتناثرة أو مصفوفة الأصفار (Sparse Matrix  Transpose ) في الدرس القادم إن شاء الله ..
تحياتي، وأشركونا في صالح الدعاء
 

المصفوفة المتناثرة أو مصفوفة الأصفار [ Sparse Matrix(1

أضف هذه المادة في موقعك:
مواد مشابهة:
دوال الإدخال و الإخراج في لغة سي دوال الإدخال و الإخراج في لغة سي
دوال الإدخال و الإخراج في لغة سي
(مرات المشاهدة: 115 مرات)
التعليقات التعليقات
التعليقات
(مرات المشاهدة: 51 مرات)
الدرس الثاني الدرس الثاني
الدرس الثاني
(مرات المشاهدة: 98 مرات)
دوال لتزيين و تحسين المخرجات دوال لتزيين و تحسين المخرجات
دوال لتزيين و تحسين المخرجات
(مرات المشاهدة: 105 مرات)
المعاملات Operators المعاملات Operators
المعاملات Operators
(مرات المشاهدة: 122 مرات)
التكرار while- التكرار while-
التكرار while-
(مرات المشاهدة: 35 مرات)
بيئة العمل في سي1 بيئة العمل في سي1
بيئة العمل في سي1
(مرات المشاهدة: 45 مرات)
جعل البرنامج Always on top برمجيا بالفيجوال سى 6 جعل البرنامج Always on top برمجيا بالفيجوال سى 6
جعل البرنامج Always on top برمجيا بالفيجوال سى 6
(مرات المشاهدة: 98 مرات)
تكرار do...while تكرار do...while
تكرار do...while
(مرات المشاهدة: 32 مرات)
البداية مع VC++6 البداية مع VC++6
البداية مع VC++6
(مرات المشاهدة: 112 مرات)
تعارف اهداءات ترحيب تبريك الحوار العام الفسحة العامة الطلاب و الاختبارات و الاسئله الجريمه حوادث كوارث جرائم معجم لهجات الفاظ مصطلحات عبارات حكم المنتدى الاسلامى تفسير الاحلام dreams صوتيات اسلاميه اناشيد محاضرات خطب وعظ الخينة الرمضانية اللغة الانجليزيه English الطرائف والمرح والفكاهه والتسليه العاب اكس بوكس بلاستيشن XBOX360 & PS3 playstation بلاي استيشن دريم كاست نتندو Anime انمي افلام كرتون السياحة و السفر والرحلات الافلام المنوعه افلام عربيه افلام اجنبيه الصور المضحكه والتعليق مسابقات الغاز حكاوي تطوير المواقع و السكربتات Ajax XML CSS JavaScript PHP Perl CGI seo Search Engine web2 تطوير و صيانة المنتديات vBulletin مشاكل و حلول للمنتديات و المواقع المشكله و الحل و الصيانة الهاكات برودكت بلقن Product - Plugins استايلات قوالب واجهاتstyle - template حراج انترنت مستعمل + جديد اشهار مواقع تبادل اعلانات بيع و شراء منتديات ستلايت فضائيات قنوات ترددات كامات شفرات مفاتيح شيرنج Sharing كروت ساتلايت و الرسيفرات الشعر العام البوح بالخافي فصحى نبطي الخاطرة الأدبية خواطر منوعه قصص روايات الكمبيوتر الحاسب والاجهزة العام البرامج الكاملة وشروحها وتعريب البرامج البرامج العربية والمعربة البرامج المشروحة و شروحات البرامج فوتوشوب photoshop رسم تصميم فلاتر فرش تدرجات خطوط باترن اشكال جوال بلوتوث جميع اجهزة الجوال mobile bluetooth بوكيت بي سي Pocket PC اجهزة كفية بلوتوث bluetooth فلاش سويتش سويش ماكس FLASH _ SWiSH الهكرز و الاختراق حماية فيروسات اختراق كراك hacker crack virus حواء للبنات نسائي للحريم فقط والبنوتات المطبخ للطبخ والاكل وكل امور المطابخ تطوير الذات و البرمجة اللغوية العصبية عيادة طبية للفلوق وغيرها صحه وعلاج health طقها والحقها الرياضي رياضه عربيه منوعه رياضه اجنبيه دوري اسباني وايطالي وغيره قنص صيد رحلات برية بحرية سيارات دراجات نارية تفحيط ترهيم
جميع الحقوق محفوظة مدرسة المشاغبين منتديات مدرسة المشاغبين  Copyright © All rights reserved sitemap