Menu
Coddy logo textTech

חיפוש במערך דו־ממדי

שיעור 11 מתוך 26 בקורס מערכים ב-C++ של Coddy.

חיפוש במערך דו־ממדי או במטריצה דומה לחיפוש במערך חד־ממדי. עלינו לעבור על כל איבר, ואם הוא נמצא במטריצה, עלינו להחזיר true; אחרת, false.

השתמשו בלולאות מקוננות כדי לעבור על האיברים באמצעות המשתנים i ו־j

for(int i=0;i<m;i++){
  for(int j=0;j<n;j++){
    if(arr[i][j]==key){
      return true;
    }
  }
}
return false;

ניתוח סיבוכיות זמן

מכיוון שאנו משתמשים בלולאה בתוך לולאה, עלינו לעבור על n איברים n פעמים, ולכן הסיבוכיות היא O(n2).

challenge icon

אתגר

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

לדוגמה, arr[1][3], אז 1+3=4, שהוא זוגי, ולכן העלו את האיבר הזה בריבוע והדפיסו את שאר האיברים כפי שהם.

נסו בעצמכם

#include<iostream>
using namespace std;


int main(){
  
  int m,n;
  cin>>m>>n;

for(int i=0;i<m;i++){
  for(int j=0;j<n;j++){
    
    cin>>arr[i][j];
    
  }
}


//Code here




return 0;

}

כל השיעורים ביחידה מערכים ב-C++

תרגלו בעצמכם: קומפיילר C++ אונליין