March 12.2026
2D Arrays
#include <iostream>
using namespace std;
void inputMatrix(int m[10][10], int r, int c){
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
cin>>m[i][j];
}
void displayMatrix(int m[10][10], int r, int c){
for(int i=0;i<r;i++){
for(int j=0;j<c;j++)
cout<<m[i][j]<<" ";
cout<<endl;
}
}
int sumAll(int m[10][10], int r, int c){
int s=0;
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
s+=m[i][j];
return s;
}
void rowSum(int m[10][10], int r, int c){
for(int i=0;i<r;i++){
int s=0;
for(int j=0;j<c;j++) s+=m[i][j];
cout<<"Row "<<i<<":"<<s<<endl;
}
}
void addMatrix(){
int r,c;
int a[10][10], b[10][10];
cin>>r>>c;
inputMatrix(a,r,c);
inputMatrix(b,r,c);
for(int i=0;i<r;i++){
for(int j=0;j<c;j++)
cout<<a[i][j]+b[i][j]<<" ";
cout<<endl;
}
}
void spiral(int m[10][10], int r, int c){
int top=0,bot=r-1,left=0,right=c-1;
while(top<=bot && left<=right){
for(int i=left;i<=right;i++) cout<<m[top][i]<<" ";
top++;
for(int i=top;i<=bot;i++) cout<<m[i][right]<<" ";
right--;
if(top<=bot){
for(int i=right;i>=left;i--) cout<<m[bot][i]<<" ";
bot--;
}
if(left<=right){
for(int i=bot;i>=top;i--) cout<<m[i][left]<<" ";
left++;
}
}
cout<<endl;
}
void beginnerMenu(){
int ch;
int m[10][10];
do{
cout<<"\nBeginner\n1.Input & Display\n2.Sum\n0.Back\n";
cin>>ch;
if(ch==1||ch==2) inputMatrix(m,3,3);
switch(ch){
case 1: displayMatrix(m,3,3); break;
case 2: cout<<sumAll(m,3,3)<<endl; break;
}
}while(ch!=0);
}
void intermediateMenu(){
int ch;
int m[10][10];
do{
cout<<"\nIntermediate\n1.Row Sum\n0.Back\n";
cin>>ch;
if(ch==1) inputMatrix(m,3,3);
switch(ch){
case 1: rowSum(m,3,3); break;
}
}while(ch!=0);
}
void advancedMenu(){
int ch;
do{
cout<<"\nAdvanced\n1.Matrix Addition\n0.Back\n";
cin>>ch;
switch(ch){
case 1: addMatrix(); break;
}
}while(ch!=0);
}
void challengeMenu(){
int ch;
int m[10][10];
do{
cout<<"\nChallenge\n1.Spiral Print\n0.Back\n";
cin>>ch;
if(ch==1) inputMatrix(m,3,3);
switch(ch){
case 1: spiral(m,3,3); break;
}
}while(ch!=0);
}
int main(){
int ch;
do{
cout<<"\nMAIN MENU\n1.Beginner\n2.Intermediate\n3.Advanced\n4.Challenge\n0.Exit\n";
cin>>ch;
switch(ch){
case 1: beginnerMenu(); break;
case 2: intermediateMenu(); break;
case 3: advancedMenu(); break;
case 4: challengeMenu(); break;
}
}while(ch!=0);
return 0;
}