Q1: Max Element per Row
#include <stdio.h>
#include <math.h>
void maxEl_row(int r,int c,int a[r][c]){
for(int i=0;i<r;i++){
int max=a[i][0];
for(int j=1;j<c;j++) if(a[i][j]>max) max=a[i][j];
printf("%d\n",max);
}}
Input: [[1,2,3],[4,5,6]] Output: 3 6
Q2: Max Element in Matrix
#include <stdio.h>
#include <math.h>
int maxEl_total(int r,int c,int a[r][c]){
int max=a[0][0];
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
if(a[i][j]>max) max=a[i][j];
return max;
}
Input: [[1,9,3],[4,5,6]] Output: 9
Q3: Sum of Rows & Columns
#include <stdio.h>
#include <math.h>
void sum_row(int r,int c,int a[r][c]){
for(int i=0;i<r;i++){
int s=0;
for(int j=0;j<c;j++) s+=a[i][j];
printf("%d\n",s);
}}
void sum_column(int r,int c,int a[r][c]){
for(int j=0;j<c;j++){
int s=0;
for(int i=0;i<r;i++) s+=a[i][j];
printf("%d\n",s);
}}
Input: [[1,2],[3,4]] Output: Row:3,7 Col:4,6
Q4: Count Digits
#include <stdio.h>
#include <math.h>
void count(int r,int c,int a[r][c]){
int cnt[10]={0};
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
if(a[i][j]>=0 && a[i][j]<=9) cnt[a[i][j]]++;
for(int i=0;i<10;i++) printf("%d:%d\n",i,cnt[i]);
}
Input: [[1,2,2],[3,1,0]] Output: 1:2 2:2 ...
Q5: Mean & SD
#include <stdio.h>
#include <math.h>
float mean(int a[],int n){
float s=0; for(int i=0;i<n;i++) s+=a[i];
return s/n;}
float SD(int a[],int n){
float m=mean(a,n),s=0;
for(int i=0;i<n;i++) s+=(a[i]-m)*(a[i]-m);
return sqrt(s/n);}
Input: [1,2,3,4,5] Output: Mean=3 SD≈1.41
Q6: Monthly Sales
#include <stdio.h>
#include <math.h>
int monthly_sales(int p[],int n,int q[]){
int s=0;
for(int i=0;i<n;i++) s+=p[i]*q[i];
return s;}
Input: p=[10,20], q=[2,3] Output: 80
Q7: Matrix Multiplication
#include <stdio.h>
#include <math.h>
void multiply(int m,int n,int p,int a[m][n],int b[n][p]){
int r[m][p];
for(int i=0;i<m;i++)
for(int j=0;j<p;j++){
r[i][j]=0;
for(int k=0;k<n;k++) r[i][j]+=a[i][k]*b[k][j];
printf("%d ",r[i][j]);
printf("\n");}}
Input: 2x2 matrices Output: multiplied matrix
Q8: Determinant & Inverse
#include <stdio.h>
#include <math.h>
int determinant(int n,int a[n][n]){
if(n==1) return a[0][0];
if(n==2) return a[0][0]*a[1][1]-a[0][1]*a[1][0];
int temp[n][n],det=0,sign=1;
for(int f=0;f<n;f++){
int subi=0;
for(int i=1;i<n;i++){
int subj=0;
for(int j=0;j<n;j++){
if(j==f) continue;
temp[subi][subj++]=a[i][j];
} subi++;
}
det+=sign*a[0][f]*determinant(n-1,temp);
sign=-sign;
} return det;}
Input: [[4,7],[2,6]] Output: inverse exists
Q9: Grade Calculation
#include <stdio.h>
#include <math.h>
int main(){
int t[3]={92,72,88};
int p[3]={100,85,78};
int h[3]={89,80,85};
int q[3]={80,75,92};
for(int i=0;i<3;i++){
float g=t[i]*0.4+p[i]*0.15+h[i]*0.25+q[i]*0.2;
printf("%f\n",g);
}}
Output: final grades printed