Tutorial Gateway

  • C
  • C#
  • Python
  • SQL
  • Java
  • JS
  • BI Tools
    • Informatica
    • Talend
    • Tableau
    • Power BI
    • SSIS
    • SSRS
    • SSAS
    • MDX
    • R Tutorial
    • Alteryx
    • QlikView
  • More
    • C Programs
    • C++ Programs
    • Go Programs
    • Python Programs
    • Java Programs
  • MySQL

C Program to find Sum of Opposite Diagonal Elements of a Matrix

How to write a C Program to find Sum of Opposite Diagonal Elements of a Matrix?. Or How to write a C program to find Sum of Opposite Diagonal Elements of a Multi-Dimensional Array with example.

C Program to find Sum of Opposite Diagonal Elements of a Matrix 1

C Program to find Sum of Opposite Diagonal Elements of a Matrix Example 1

This program allows the user to enter the number of rows and columns of a Matrix. Next, we are going to calculate the sum of opposite diagonal elements in this matrix using For Loop.

/* C Program to find Sum of Opposite Diagonal Elements of a Matrix */

#include<stdio.h>
 
int main()
{
 	int i, j, rows, columns, a[10][10], Sum = 0;
  
 	printf("\n Please Enter Number of rows and columns  :  ");
 	scanf("%d %d", &i, &j);
 
 	printf("\n Please Enter the Matrix Elements \n");
 	for(rows = 0; rows < i; rows++)
  	{
   		for(columns = 0;columns < j;columns++)
    	{
      		scanf("%d", &a[rows][columns]);
    	}
  	}
   	  
 	for(rows = 0; rows < i; rows++)
  	{
   		Sum = Sum + a[rows][i - rows  - 1];
  	}
 
 	printf("\n The Sum of Opposite Diagonal Elements of a Matrix =  %d", Sum );

 	return 0;
}
C Program to find Sum of Opposite Diagonal Elements of a Matrix 2

In this C Program to find Sum of Opposite Diagonal Elements of a Matrix, We declared single Two dimensional arrays Multiplication of size of 10 * 10.
Below statements asks the User to enter the Matrix size (Number of rows and columns. For instance 2 Rows, 3 Columns = a[2][3] )

printf("\n Please Enter Number of rows and columns  :  ");
scanf("%d %d", &i, &j);

Next, we used for loop to iterate every cell present in a[3][3] matrix. Conditions inside the for loops ((rows < i) and (columns < j)) will ensure the compiler, not to exceed the matrix limit. Otherwise, the Matrix will overflow

The C Programming scanf statement inside the for loop will store the user entered values in every individual array element such as a[0][0], a[0][1], …..

for(rows = 0; rows < i; rows++).
{
  for(columns = 0; columns < j; columns++)
   {
     scanf("%d", &a[rows][columns]);
   }
}

In the next line, We have one more for loop to find Sum of Diagonal Elements of a Matrix

for(rows = 0; rows < i; rows++)
{
   		Sum = Sum + a[rows][i - rows  - 1];
}

User inserted values for C Program to find Sum of Opposite Diagonal Elements of a Matrix are: a[3][3] = {{10, 20, 30}, { 40, 50, 60}, {70, 80, 90}}

Row First Iteration: for(rows = 0; rows < 3; 0++)
The condition (0 < 3) is True.
Sum  = Sum + a[rows][i – rows – 1]
Sum  = Sum + a[0][3 – 0 – 1] => Sum + a[0][2]
Sum  = 0 + 30 = 30

Row Second Iteration: for(rows = 1; rows < 3; 1++)
The condition (1 < 3) is True.
Sum  = Sum + a[1][3 – 1 – 1] => Sum + a[1][1]
Sum  = 30 + 55 = 85

Row Second Iteration: for(rows = 2; rows < 3; 2++)
The condition (2 < 3) is True.
Sum  = Sum + a[2][3 – 2 – 1] => Sum + a[2][0]
Sum  = 85 + 95 = 180

Next, rows value incremented. After the increment, the condition inside the for loop (rows < 3) will fail. So it will exit from the loop.

At last, we used the printf statement to print the total Sum as output

C Program to find Sum of Opposite Diagonal Elements of a Matrix Example 2

This C program for sum of matrix diagonally opposite elements is the same as above, but this time we changed the algorithm a bit.

/* C Program to find Sum of Opposite Diagonal Elements of a Matrix */

#include<stdio.h>
 
int main()
{
 	int i, j, rows, columns, a[10][10], Sum = 0;
  
 	printf("\n Please Enter Number of rows and columns : ");
 	scanf("%d %d", &i, &j);
 
 	printf("\n Please Enter the Matrix Elements \n");
 	for(rows = 0; rows < i; rows++)
  	{
   		for(columns = 0;columns < j;columns++)
    	{
      		scanf("%d", &a[rows][columns]);
    	}
  	}
   	  
 	for(rows = 0; rows < i; rows++)
  	{
  		for(columns = 0;columns < j; columns++)
  		{
  			if(rows + columns == ((i + 1) - 2))
  			       Sum = Sum + a[rows][columns];
		}
  	}
 
 	printf("\n The Sum of Opposite Diagonal Elements of a Matrix =  %d", Sum );

 	return 0;
}
C Program to find Sum of Opposite Diagonal Elements of a Matrix 3

User inserted values are: a[3][3] = {{1, 2, 3}, { 4, 5, 6}, {7, 8, 15}}

Row First Iteration: for(rows = 0; rows < 3; 0++)
The condition (0 < 3) is True. So, it will enter into second for loop

Column First Iteration: for(columns = 0; 0 < 3; 0++)
The condition (columns < 3) is True. So, it will start executing the If Statement

if(rows + columns == ((i + 1) – 2))
=> if(0 + 0 == ((3 + 1) – 2)) – Condition is False

Column Second Iteration: for(columns = 1; 1 < 3; 1++)
The condition (1 < 3) is True.

if(rows + columns == ((i + 1) – 2))
=> if(0 + 1 == ((3 + 1) – 2)) – Condition is False

Column Second Iteration: for(columns = 2; 2 < 3; 2++)
The condition (1 < 3) is True.

if(rows + columns == ((i + 1) – 2))
=> if(0 + 2 == ((3 + 1) – 2)) – Condition is True
Sum = Sum + a[rows][columns] => Sum + a[0][2]
Sum = 0 + 3 = 3

Do the same for remaining iteration where rows = 1 and rows = 2

Filed Under: C Programs

  • C Hello World
  • C Add Two numbers
  • C Armstrong Number Program
  • C Convert Celsius to Fahrenheit
  • C Convert Decimal to Binary
  • C Convert Decimal to Octal
  • C Convert CM to Meter and KM
  • C Convert KM to M, CM & MM
  • C Convert Fahrenheit to Celsius
  • C Compound Interest Program
  • C Count Digits in a Number
  • C Count Notes in an Amount
  • C Cube of a Number
  • C Electricity Bill Program
  • C Factors of a Number Program
  • C Factorial of a Number Program
  • C GCD of Two Numbers
  • C Generic Root of a Number
  • C Gross Salary of an Employee
  • C Largest of Two Numbers
  • C Largest of Three numbers
  • C Last Digit Of a Number
  • C LCM of Two Numbers
  • C Leap Year program
  • C Multiplication Table program
  • C Natural Numbers from 1 to N
  • C Natural Numbers in reverse
  • C NCR Factorial of a Number
  • C Number is Divisible by 5 and 11
  • C Palindrome Program
  • C Palindrome String program
  • C Perfect Number Program
  • C Profit or Loss Program
  • C Print 1 to 100
  • C Print Prime Numbers 1 to 100
  • C Prime Number program
  • C Prime Factors of a Number
  • C Prime, Armstrong or Perfect
  • C Positive or Negative program
  • C Print Odd Numbers 1 to N
  • C Print Even Numbers 1 to N
  • C Print Integer, Char & Float
  • C Power of a Number program
  • C Product of Digits in a Number
  • C Roots of a Quadratic Equation
  • C Reverse a Number
  • C Simple Calculator Program
  • C Simple Interest
  • C Square of a Number
  • C Square Root of a Number
  • C Standard Deviation program
  • C Strong Number Program
  • C Student Grade program
  • C Sum of Odd Numbers program
  • C Sum of Even Nums program
  • C Sum of Even and Odd Nums
  • C Swap First & Last digit of Num
  • C Sum of First & Last digit Num
  • C Sum of Digits of a Number
  • C Sum of N Numbers Program
  • C Sum and Average of n Number
  • C Swap 2 Numbers
  • C Total, Avg & % of Five Subjects
  • C Quick Sort
  • C Selection Sort
  • C Insertion Sort
  • C Bubble Sort
  • C Fibonacci Series Program
  • C Nth Fibonacci number
  • C Sum of AP Series
  • C Sum of GP Series
  • C Sum of series 1³+2³+3³+….+n³
  • C Sum of series 1²+2²+3²+….+n²
  • C ASCII value of String chars
  • C Print Characters in a String
  • C Compare Two Strings
  • C Concatenate Two Strings
  • C Copy String
  • C String length program
  • C Convert String to Lowercase
  • C First Occurrence of string char
  • C First Occur of String Word
  • C Count Occur of string Char
  • C Count Alphabets, Digits & Special Chars
  • C Count Vowels & Consonants
  • C string remove all Occ of char
  • C remove 1st Occ of char in string
  • C remove last Occ char in string
  • C replace All Occ of char in string
  • C Replace last Occ of String Char
  • C Replace 1st occ char in string
  • C Reverse words Order in string
  • C Reverse a String
  • C Toggle Case of all char in string
  • C Array Arithmetic Operations
  • C Matrix Arithmetic Operations
  • C Count Frequency of array item
  • C Count Duplicate Array items
  • C Count +ve & -Ve Array items
  • C Count Even & Odd Array items
  • C Copy an Array to another
  • C Delete Duplicate Array items
  • C Delete an Element in an Array
  • C insert an Element in an Array
  • C 2nd largest Number in an Array
  • C Find Largest Array Number
  • C Find Smallest Array Number
  • C Largest & Smallest Array item
  • C Merge Two Arrays
  • C Print Unique Array Elements
  • C Print Arrayy Elements
  • C Print Negative Array Numbers
  • C Print Positive Array Numbers
  • C Put +ve & -Ve in 2 Arrays
  • C Put Even & Odd in 2 Arrays
  • C Program to Reverse an Array
  • C Search an Element in an Array
  • C Sum of array even, odd nums
  • C Sort Array in Ascending Order
  • C Sort Array in Descending
  • C Swap 2 Arrays without Temp
  • C Sum of all Array Elements
  • C Sum of each Matrix column
  • C sum of each row in a Matrix
  • C Sum of Matrix row & column
  • C Add Two Matrices
  • C Sparse Matrix
  • C Symmetric Matrix
  • C Identity Matrix
  • C Interchange Matrix Diagonals
  • C Check two Matrices Equal
  • C Lower Triangle of a Matrix
  • C Upper Triangle of a Matrix
  • C Sum of Lower Triangle Matrix
  • C Sum of Upper Triangle Matrix
  • C Subtract Two Matrices
  • C Transpose of a Matrix program

Copyright © 2021· All Rights Reserved by Suresh.
About | Contact | Privacy Policy