C Program On Arrays With Output For Placement Exams
Hello guys, welcome back to my blog. In this article, I will share some C program on arrays, I will share codes with outputs and this article will be helpful for those who are preparing for interviews.
Subscribe our website for more updates. You can also catch me @ Instagram – Chetan Shidling.
Also, read:
- What Is Business Analytics, Program Outcome, Career Prospects.
- Data Science Work In Daily Life, What Data Science Engineers Do.
- Python Programming For Data Science And Machine Learning.
C Program On Arrays
01. Write a C program for addition and subtraction of two matrix?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <stdio.h> int main() { int m, n, c, d, first[10][10], second[10][10], sum[10][10]; printf ( "Enter the number of rows and columns in the matrix\n" ); scanf ( "%d %d" ,&m,&n); printf ( "Enter the elements of the 1st matrix: \n" ); for (c=0; c<m; c++) for (d=0; d<n; d++) scanf ( "%d" , &first[c][d]); printf ( "Enter the elements of the 2nd matrix :\n" ); for (c=0; c<m; c++) for (d=0; d<n; d++) scanf ( "%d" , &second[c][d]); for (c=0; c<m; c++) for (d=0; d<n; d++) sum[c][d] = first[c][d] + second[c][d]; printf ( "Sum of entered matrix is: \n" ); for (c=0; c<m; c++) { for (d=0;d<n;d++) printf ( "%d\t" ,sum[c][d]); printf ( "\n" ); } for (c=0; c<m; c++) for (d=0; d<n; d++) sum[c][d] = first[c][d] - second[c][d]; printf ( "Difference b/t entered matrix: \n" ); for (c=0; c<m; c++) { for (d=0; d<n; d++) printf ( "%d\t" , sum[c][d]); printf ( "\n" ); } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Enter the number of rows and columns in the matrix 3 3 Enter the elements of the 1st matrix: 2 3 5 1 2 3 4 5 6 Enter the elements of the 2nd matrix : 6 4 3 1 2 9 8 2 3 Sum of entered matrix is: 8 7 8 2 4 12 12 7 9 Difference b/t entered matrix: -4 -1 2 0 0 -6 -4 3 3 |
02. Write a C Program on addition of two matrix?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <stdio.h> #include <stdlib.h> int main() { int m, n, c, d, first[10][10], second[10][10], sum[10][10]; printf ( "Enter the number of columns and rows of matrix: \n" ); scanf ( "%d%d" ,&m, &n); printf ( "Enter the elements of 1st matrix :\n" ); for (c=0; c<m; c++) { for (d=0; d<n; d++) { scanf ( "%d" ,& first[c][d]); } } printf ( "Enter the elements of 2nd matrix: \n" ); for (c=0; c<m; c++) { for (d=0; d<n; d++) { scanf ( "%d" ,& second[c][d]); } } printf ( "Sum of entered matrix: \n" ); for (c=0; c<m; c++) { for (d=0; d<n; d++) { sum[c][d] = first[c][d] + second[c][d]; printf ( "%d\t" , sum[c][d]); } printf ( "\n" ); } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Enter the number of columns and rows of matrix: 3 3 Enter the elements of 1st matrix : 2 3 4 1 3 5 7 4 2 Enter the elements of 2nd matrix: 3 45 1 0 7 6 4 2 5 Sum of entered matrix: 5 48 5 1 10 11 11 6 7 |
02. Write a C program to store elements in array and display in ascending order?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <stdio.h> int main() { int i, j, a, n, number[30]; printf ( "Enter the value of N \n" ); scanf ( "%d" , &n); printf ( "Enter the numbers \n" ); for (i = 0; i < n; ++i) { scanf ( "%d" , &number[i]); } for (i = 0; i < n; ++i) { for (j = i + 1; j < n; ++j) { if (number[i] > number[j]) { a = number[i]; number[i] = number[j]; number[j] = a; } } } printf ( "The numbers arranged in an ascending order are given : \n" ); for (i = 0; i < n; ++i) { printf ( "%d\n" , number[i]); } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 | Enter the value of N 8 Enter the numbers 2 34 65 12 98 43 32 76 The numbers arranged in an ascending order are given : 2 12 32 34 43 65 76 98 |
03. Write a C program to check matrix is a sparse matrix or not?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <stdio.h> int main() { static int array[10][10]; int i, j, m, n; int counter = 0; printf ( "Enter the order of the matix : " ); scanf ( "%d %d" , &m, &n); printf ( "Enter the co-efficients of the matix \n" ); for (i = 0; i < m; ++i) { for (j = 0; j < n; ++j) { scanf ( "%d" , &array[i][j]); if (array[i][j] == 0) { ++counter; } } } if (counter > ((m * n) / 2)) { printf ( "The matrix is sparse matrix \n" ); } else { printf ( "The matrix is not a sparse matrix \n" ); } printf ( "There are %d number of zeros" , counter); return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 | Enter the order of the matix : 3 3 Enter the co-efficients of the matix 1 0 0 0 1 0 0 0 1 The matrix is sparse matrix |
04. Write a C program to delete element in an array?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <stdio.h> int main() { int array[100], position, c, n; printf ( "Enter number of elements in array :\n" ); scanf ( "%d" , &n); printf ( "Enter %d elements :\n" , n); for (c = 0; c < n; c++) scanf ( "%d" , &array[c]); printf ( "Enter the location where you wish to delete element :\n" ); scanf ( "%d" , &position); if (position >= n + 1) printf ( "Deletion not possible.\n" ); else { for (c = position - 1; c < n - 1; c++) array[c] = array[c + 1]; printf ( "Resultant array is\n" ); for (c = 0; c < n - 1; c++) printf ( "%d\n" , array[c]); } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 | Enter number of elements in array : 8 Enter 8 elements : 23 1 76 44 34 32 99 73 Enter the location where you wish to delete element : 4 Resultant array is 23 1 76 34 32 99 73 |
05. Write a C program to delete user given number or particular value in an array?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <stdio.h> int main() { int vectorx[10]; int i, n, pos, element, found = 0; printf ( "Enter how many elements: \n" ); scanf ( "%d" , &n); printf ( "Enter the elements: \n" ); for (i = 0; i < n; i++) { scanf ( "%d" , &vectorx[i]); } printf ( "Input array elements are :\n" ); for (i = 0; i < n; i++) { printf ( "%d\n" , vectorx[i]); } printf ( "Enter the element to be deleted :\n" ); scanf ( "%d" , &element); for (i = 0; i < n; i++) { if (vectorx[i] == element) { found = 1; pos = i; break ; } } if (found == 1) { for (i = pos; i < n - 1; i++) { vectorx[i] = vectorx[i + 1]; } printf ( "The resultant vector is \n" ); for (i = 0; i < n - 1; i++) { printf ( "%d\n" , vectorx[i]); } } else { printf ( "Element %d is not found in the vector: \n" , element); } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | Enter how many elements: 8 Enter the elements: 4 33 23 78 99 88 43 29 Input array elements are : 4 33 23 78 99 88 43 29 Enter the element to be deleted : 99 The resultant vector is 4 33 23 78 88 43 29 |
06. Write a C program to find determinant of 2 * 2 matrix?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include<stdio.h> int main() { int a[2][2], i, j; long determinant; printf ( "Enter the 4 elements of matrix :\n" ); for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { scanf ( "%d" , &a[i][j]); } } printf ( "\nThe matrix is\n" ); for (i = 0; i < 2; i++) { printf ( "\n" ); for (j = 0; j < 2; j++) { printf ( "%d\t" , a[i][j]); } } determinant = a[0][0] * a[1][1] - a[1][0] * a[0][1]; printf ( "\nDeterminant of 2X2 matrix: %ld" , determinant); return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 | Enter the 4 elements of matrix : 4 6 3 2 The matrix is 4 6 3 2 Determinant of 2X2 matrix: -10 |
07. Write a C program to find determinant of 3*3 matrix?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include<stdio.h> int main() { int a[3][3], i, j; long determinant; printf ( "Enter the 9 elements in the matrix :\n" ); for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) scanf ( "%d" , &a[i][j]); printf ( "\nThe matrix is\n" ); for (i = 0; i < 3; i++) { printf ( "\n" ); for (j = 0; j < 3; j++) printf ( "%d\t" , a[i][j]); } determinant = a[0][0] * ((a[1][1] * a[2][2]) - (a[2][1] * a[1][2])) - a[0][1] * (a[1][0] * a[2][2] - a[2][0] * a[1][2]) + a[0][2] * (a[1][0] * a[2][1] - a[2][0] * a[1][1]); printf ( "\nThe determinant of 3X3 matrix: %d" , determinant); return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | Enter the 9 elements of matrix : 4 5 6 3 9 8 1 2 6 The matrix is 4 5 6 3 9 8 1 2 6 Determinant of 3X3 matrix: 84 |
08. Write a C program to find smallest and largest element in an arrray?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include<stdio.h> int main() { int a[50], size, i, big, small; printf ( "\nEnter the size of the array: " ); scanf ( "%d" , &size); printf ( "\nEnter %d elements in to the array: " , size); for (i = 0; i < size; i++) { scanf ( "%d" , &a[i]); } big = a[0]; for (i = 1; i < size; i++) { if (big < a[i]) { big = a[i]; } } printf ( "Largest element: %d" , big); small = a[0]; for (i = 1; i < size; i++) { if (small > a[i]) { small = a[i]; } } printf ( "\nSmallest element: %d" , small); return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 | Enter the size of the array: 8 Enter 8 elements in to the array: 3 4 56 12 99 67 53 76 Largest element: 99 Smallest element: 3 |
09. Write a C program to find matrix is identity matrix or not?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <stdio.h> int main() { int a[10][10]; int i, j, row, column, flag = 1; printf ( "Enter the dimensions of the matrix A : " ); scanf ( "%d %d" , &row, &column); printf ( "Enter the elements of matrix A \n" ); for (i = 0; i < row; i++) { for (j = 0; j < column; j++) { scanf ( "%d" , &a[i][j]); } } printf ( "MATRIX A is \n" ); for (i = 0; i < row; i++) { for (j = 0; j < column; j++) { printf ( "%3d" , a[i][j]); } printf ( "\n" ); } for (i = 0; i < row; i++) { for (j = 0; j < column; j++) { if (a[i][j] != 1 && a[j][i] != 0) { flag = 0; break ; } } } if (flag == 1) printf ( "It is identity matrix \n" ); else printf ( "It is not a identity matrix \n" ); } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Enter the dimensions of the matrix A : 3 3 Enter the elements of matrix A 3 4 5 9 1 6 4 3 2 MATRIX A is 3 4 5 9 1 6 4 3 2 It is not a identity matrix Enter the dimensions of the matrix A : 3 3 Enter the elements of matrix A 1 0 0 0 1 0 0 0 1 MATRIX A is 1 0 0 0 1 0 0 0 1 It is identity matrix |
10. Write a C program to implement Queue using array?
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | #include <stdio.h> #include <stdlib.h> #define MAX 50 int queue_array[MAX]; int rear = -1; int front = -1; void insert() { int add_item; if (rear == MAX - 1) { printf ( "Queue Overflow \n" ); } else { if (front == -1) { // If queue is initially empty front = 0; } printf ( "Inset the element in queue : " ); scanf ( "%d" , &add_item); rear = rear + 1; queue_array[rear] = add_item; } } void display() { int i; if (front == -1) { printf ( "Queue is empty \n" ); } else { printf ( "Queue is : \n" ); for (i = front; i <= rear; i++) { printf ( "%d " , queue_array[i]); } printf ( "\n" ); } } void deleteElement() { if (front == -1 || front > rear) { printf ( "Queue Underflow \n" ); return ; } else { printf ( "Element deleted from queue is : %d\n" , queue_array[front]); front = front + 1; } } int main() { int choice; printf ( "1.Insert element to queue \n" ); printf ( "2.Delete element from queue \n" ); printf ( "3.Display all elements of queue \n" ); printf ( "4.Quit \n" ); while (1) { printf ( "Enter your choice : " ); scanf ( "%d" , &choice); switch (choice) { case 1: insert(); break ; case 2: deleteElement(); break ; case 3: display(); break ; case 4: exit (1); default : printf ( "Wrong choice \n" ); } } } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 1.Insert element to queue 2.Delete element from queue 3.Display all elements of queue 4.Quit Enter your choice : 1 Inset the element in queue : 2 Enter your choice : 1 Inset the element in queue : 7 Enter your choice : 1 Inset the element in queue : 9 Enter your choice : 3 Queue is : 2 7 9 Enter your choice : 2 Element deleted from queue is : 2 Enter your choice : 3 Queue is : 7 9 Enter your choice : 1 Inset the element in queue : 2 Enter your choice : 3 Queue is : 7 9 2 Enter your choice : 2 Element deleted from queue is : 7 Enter your choice : 3 Queue is : 9 2 Enter your choice : |
11. Write a C program to implement stack using array?
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 | #include <stdio.h> #define MAX 5 int top, status; // PUSH FUNCTION void push( int stack[], int item) { if (top == (MAX - 1)) status = 0; else { status = 1; ++top; stack[top] = item; } } // POP FUNCTION int pop( int stack[]) { int ret; if (top == -1) { ret = 0; status = 0; } else { status = 1; ret = stack[top]; --top; } return ret; } // FUNCTION TO DISPLAY STACK void display( int stack[]) { int i; printf ( "\nThe Stack is: " ); if (top == -1) printf ( "empty" ); else { for (i = top; i >= 0; --i) printf ( "\n--------\n|%3d |\n--------" , stack[i]); } printf ( "\n" ); } int main() { int stack[MAX], item; int ch; top = -1; printf ( "\nMAIN MENU" ); printf ( "\n1.PUSH (Insert) in the Stack" ); printf ( "\n2.POP (Delete) from the Stack" ); printf ( "\n3.Exit (End the Execution)" ); do { do { printf ( "\nEnter Your Choice: " ); scanf ( "%d" , &ch); if (ch < 1 || ch > 3) printf ( "\nInvalid Choice, Please try again" ); } while (ch < 1 || ch > 3); switch (ch) { case 1: printf ( "\nEnter the Element to be pushed : " ); scanf ( "%d" , &item); printf ( "%d" , item); push(stack, item); if (status) { printf ( "\nAfter Pushing " ); display(stack); if (top == (MAX - 1)) printf ( "\nThe Stack is Full" ); } else printf ( "\nStack overflow on Push" ); break ; case 2: item = pop(stack); if (status) { printf ( "\nThe Popped item is %d. After Popping: " , item); display(stack); } else printf ( "\nStack underflow on Pop" ); break ; default : printf ( "\nEND OF EXECUTION" ); } } while (ch != 3); return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | MAIN MENU 1.PUSH (Insert) in the Stack 2.POP (Delete) from the Stack 3.Exit (End the Execution) Enter Your Choice: 1 Enter the Element to be pushed : 34 34 After Pushing The Stack is: -------- | 34 | -------- Enter Your Choice: 1 Enter the Element to be pushed : 88 88 After Pushing The Stack is: -------- | 88 | -------- -------- | 34 | -------- Enter Your Choice: 1 Enter the Element to be pushed : 43 43 After Pushing The Stack is: -------- | 43 | -------- -------- | 88 | -------- -------- | 34 | -------- Enter Your Choice: 2 The Popped item is 43. After Popping: The Stack is: -------- | 88 | -------- -------- | 34 | -------- Enter Your Choice: 3 END OF EXECUTION |
12. Write a C program to insert element in an array?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <stdio.h> int main() { int array[100], position, c, n, value; printf ( "Enter number of elements in array : " ); scanf ( "%d" , &n); printf ( "Enter %d elements : " , n); for (c = 0; c < n; c++) { scanf ( "%d" , &array[c]); } printf ( "Enter the location where you want to insert an element : " ); scanf ( "%d" , &position); printf ( "Enter the value to insert : " ); scanf ( "%d" , &value); for (c = n - 1; c >= position - 1; c--) { array[c + 1] = array[c]; } array[position - 1] = value; printf ( "Resultant array is\t" ); for (c = 0; c <= n; c++) { printf ( "%d\t" , array[c]); } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 | Enter 8 elements : 34 23 98 56 45 12 88 44 Enter the location where you wish to insert an element : 4 Enter the value to insert : 29 Resultant array is 34 23 98 29 56 45 12 88 44 |
13. Write a C program to inverse the matrix?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #include<stdio.h> void reduction( float a[][6], int size, int pivot, int col) { int i, j; float factor; factor = a[pivot][col]; for (i = 0; i < 2 * size; i++) { a[pivot][i] /= factor; } for (i = 0; i < size; i++) { if (i != pivot) { factor = a[i][col]; for (j = 0; j < 2 * size; j++) { a[i][j] = a[i][j] - a[pivot][j] * factor; } } } } int main() { float matrix[3][6]; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 6; j++) { if (j == i + 3) { matrix[i][j] = 1; } else { matrix[i][j] = 0; } } } printf ( "\nEnter a 3 X 3 Matrix :" ); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { scanf ( "%f" , &matrix[i][j]); } } for (i = 0; i < 3; i++) { reduction(matrix, 3, i, i); } printf ( "\nInvers Matrix" ); for (i = 0; i < 3; i++) { printf ( "\n" ); for (j = 0; j < 3; j++) { printf ( "%8.3f" , matrix[i][j + 3]); } } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 | Enter a 3 X 3 Matrix :43 23 12 77 65 45 98 12 10 Invers Matrix 0.005 -0.004 0.011 0.158 -0.032 -0.044 -0.236 0.075 0.044 |
14. C code for magic matrix?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #include<stdio.h> int main() { int i, j = 1, l, n; int mm[50][50], x, y, z; int c = 0; label: printf ( "Enter the Order of Magic Matrix(Odd) : " ); scanf ( "%d" , &n); printf ( "\n" ); if (n % 2 == 0) { printf ( "Enter Odd Numbers Only\n\n" ); goto label; } //find the middle column l = (n + 1) / 2; //set all the elements to be used to 0 for (x = 1; x <= n; x++) { for (y = 1; y <= n; y++) { mm[x][y] = NULL; } } for (i = 1; i <= (n * n); i++) { if (mm[j][l] == NULL) { mm[j][l] = i; } else { j = j + 2; l--; if (j == n + 2) j = 2; if (l == 0) l = n; if (j == 0) j = n; if (l == n + 1) l = 1; mm[j][l] = i; } j--; l++; if (j == 0) j = n; if (l == n + 1) l = 1; } for (x = 1; x <= n; x++) { for (y = 1; y <= n; y++) { z = mm[x][y]; while (z > 0) { z = z / 10; c++; } if (c == 1) printf ( " 0%d" , mm[x][y]); else printf ( " %d" , mm[x][y]); if (y % n == 0) printf ( "\n\n" ); c = 0; } } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Enter the Order of Magic Matrix(Odd) : 5 17 24 01 08 15 23 05 07 14 16 04 06 13 20 22 10 12 19 21 03 11 18 25 02 09 Enter the Order of Magic Matrix(Odd) : 6 Enter Odd Numbers Only Enter the Order of Magic Matrix(Odd) : 3 08 01 06 03 05 07 04 09 02 |
15. Write a C program for matrix multiplication?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include <stdio.h> int main() { int m, n, p, q, c, d, k, sum = 0; int first[10][10], second[10][10], multiply[10][10]; printf ( "Enter the no of rows and columns of 1st matrix :\n" ); scanf ( "%d%d" , &m, &n); printf ( "Enter the elements of 1st matrix\n" ); for (c = 0; c < m; c++) for (d = 0; d < n; d++) scanf ( "%d" , &first[c][d]); printf ( "Enter the no of rows and columns of 2nd matrix\n" ); scanf ( "%d%d" , &p, &q); if (n != p) printf ( "Matrices with entered orders can not be multiplied with each other.\n" ); else { printf ( "Enter the elements of 2nd matrix\n" ); for (c = 0; c < p; c++) for (d = 0; d < q; d++) scanf ( "%d" , &second[c][d]); for (c = 0; c < m; c++) { for (d = 0; d < q; d++) { for (k = 0; k < p; k++) { sum = sum + first[c][k] * second[k][d]; } multiply[c][d] = sum; sum = 0; } } printf ( "Product of entered matrices:-\n" ); for (c = 0; c < m; c++) { for (d = 0; d < q; d++) printf ( "%d\t" , multiply[c][d]); printf ( "\n" ); } } return 0; } |
Output:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | Enter the no of rows and columns of 1st matrix : 3 3 Enter the elements of 1st matrix 2 3 4 3 1 7 9 5 2 Enter the no of rows and columns of 2nd matrix 3 3 Enter the elements of 2nd matrix 1 9 3 7 2 8 5 1 9 Product of entered matrices:- 43 28 66 45 36 80 54 93 85 Enter the no of rows and columns of 1st matrix : 3 3 Enter the elements of 1st matrix 3 9 1 9 2 7 5 1 4 Enter the no of rows and columns of 2nd matrix 4 5 Matrices with entered orders can not be multiplied with each other. |
This was about the C program on arrays. I hope this article may help you all a lot. Thank you for reading.
Also, read:
- Difference Between Typical And Bare-Metal Programming
- CAPL Scripting Tutorial For Automotive Engineers
- Types Of Simulation And Modeling Languages
- How Blockchain Can Improve Automotive Data Security
- Top Software Compliance Standards Across Industries
- How To Manage Projects? Iterative, Agile, Waterfall, Spiral Model, RAD Model
- Cybersecurity Trends And Challenges In The Digital Age
- Natural Language Processing (NLP) In Computer Science