Ricerca in un array bidimensionale
Lezione 11 di 26 del corso Gli array in C++ di Coddy.
Cercare in un array 2D o in una matrice è simile a cercare in un array 1D. Dobbiamo scorrere ogni elemento e, se è presente nella matrice, dobbiamo restituire true; altrimenti false.
Usa cicli annidati per scorrere usando le variabili i e j
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(arr[i][j]==key){
return true;
}
}
}
return false;Analisi della complessità temporale
Poiché usiamo un ciclo all'interno di un altro ciclo, dobbiamo scorrere n elementi n volte, il che porta a una complessità di O(n2).
Sfida
Data una matrice e il numero di righe e colonne, stampa il quadrato degli elementi se la somma dei loro indici è pari.
Ad esempio, arr[1][3]: 1+3=4, che è pari; quindi eleva al quadrato quell’elemento e stampa gli altri elementi così come sono.
Provalo tu
#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;
}Tutte le lezioni di Gli array in C++
Esercitati da solo: Compilatore C++ online