#include void MinAndMax(int a[10][10],int *min,int *max); void main() { int arr[10][10]={ {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 30}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {3, 2, 3, 4, 5, 6, 7, 8, 9, 200} }; int Min_value, Max_value; MinAndMax(arr, &Min_value, &Max_value); printf("min = %d\nmax = %d\n",Min_value, Max_value); } void MinAndMax(int a[10][10],int *min,int *max) { int i,j, minimum, maximum; int sums[22]= {0}; for(i=0;i<10;i++) { for(j=0;j<10;j++) { sums[i]=sums[i]+a[i][j]; // Add curent ?limb? to fitting ROW sum sums[j+10]=sums[j+10]+a[i][j]; // Add curent ?limb? to fitting COL sum if(i==j) { sums[20]=sums[20]+a[i][j]; // Add curent ?limb? to MAIN diagonal sum } if( i==(9-j) ) { sums[21]==sums[21]+a[i][j]; // Add curent ?limb? to SECONDARY diagonal sum } } } maximum = sums[0]; (*max) = maximum; for(i=1;i<10;i++) { if(sums[i]>maximum) maximum=sums[i]; (*max)= maximum; } minimum = sums[0]; (*min) = minimum; for(i=1;i<10;i++) { if(sums[i]>minimum) minimum=sums[i]; (*min)= minimum; } }