++C למתחילים
 
דף הבית>> פרק 5>>מטריצות

מטריצות ומערכים רב מימדיים:

עד כה דנו במערכים חד - מימדיים. כדי לייצג טבלאות, מטריצות או מבנים מורכבים דרושה גם אפשרות להגדיר ולהשתמש במערכים בעלי יותר ממימד אחד.שפת ++C מאפשרת להגדיר מערכים רב מימדיים, ללא כל הגבלה על מספר המימדים. ההגדרה בצורה הזו:  

{<ערכי איתחול>} = [מימד n].....[מימד 2] [מימד 1] <שם מערך> <טיפוס>  

לדוגמה אם נרצה לכתוב פונקציה להשמת משתנים בטבלה, אזי הטבלה היא מערך דו מימדי שיש בו שורות ועמודות ומגדירים אותה באמצעות שני פרמטרים, הראשון עבור השורות, והשני עבור העמודות. לדוגמה נגדיר טבלה של שלמים בעלת 10 שורות ו 5 עמודות:  

;[int table[10][5  

איתחול מערך רב מימדי:

איתחול המערך הרב מימדי יתבצע בהתאם לחלוקה לקבוצות. כל תת - קבוצה תאותחל בנפרד בתוך סוגריים מסולסלים. לדוגמה איתחול הטבלה:  

int table [10][5] = {
                        {1, 2, 3, 4, 5},
                        {6, 7, 8, 9, 10},
                            ... ...
                        {46, 47, 48, 49, 50},
                     };
 

לדוגמה לוח הכפל במטריצה:  

#include <iostream.h> 
#include <conio.h> 
#include <  iomanip.h> 

 main() 
 { 
    int mul [11][11] ,i ,j; 
     for(i=1;i<=10;i++) 
      for(j=1;j<=10;j++) 
       mul[i][j]=i*j; 
      for(i=1;i<=10;i++) 
      { 
        cout<<'\n'; 
       for(j=1;j<=10;j++) 
       { 
         cout<<setw(5)<<mul[i][j]; 
       } 
     } 
     getch(); 
 } 
 

פלט התוכנית:

תוכנית זו מוציאה לפלט את לוח הכפל בצורת מטריצה בעלת 10 שורות ו 10 עמודות.  

הקודם הבא