0% found this document useful (0 votes)
2 views8 pages

Dsa 1 To 5

The document contains multiple C programs authored by Dr. Paras Jain, focusing on various algorithms including checking for unique elements in an array, finding the maximum element, matrix multiplication, and solving the Tower of Hanoi puzzle using recursion. Each program includes user input for array or matrix sizes and elements, and outputs results based on the implemented algorithms. The experiment dates for all programs are in February 2022.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views8 pages

Dsa 1 To 5

The document contains multiple C programs authored by Dr. Paras Jain, focusing on various algorithms including checking for unique elements in an array, finding the maximum element, matrix multiplication, and solving the Tower of Hanoi puzzle using recursion. Each program includes user input for array or matrix sizes and elements, and outputs results based on the implemented algorithms. The experiment dates for all programs are in February 2022.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

1.

Unique Elements

#include <stdio.h>

// Modified brute force function to check for uniqueness


int UniqueElements(int A[], int n);

int main() {
printf("Program to check if elements in an array are unique (Modified Brute Force)\n");
printf("Author : Dr. Paras Jain\n");
printf("Experiment Date: 04-02-2022\n");
printf("Submission Date: \n\n");

int A[50], n, i, flag;

printf("Enter the Array Size: ");


scanf("%d", &n);

printf("\nEnter the Array Elements: \n");


for (i = 0; i < n; i++) {
printf("Enter element number %d: ", i + 1);
scanf("%d", &A[i]);
}

printf("\nThe elements entered for the array are:\n[ ");


for (i = 0; i < n; i++) {
printf("%d ", A[i]);
}
printf("]\n");

// Call the modified brute force function


flag = UniqueElements(A, n);

if (flag == 1)
printf("\nThe elements in the given array are unique.\n");
else
printf("\nThe elements in the given array are not unique.\n");

return 0;
}

// Modified brute force function


int UniqueElements(int A[], int n) {
int i, j, duplicateFound = 0;

printf("\nChecking for duplicate elements...\n");

for (i = 0; i < n - 1; i++) {


for (j = i + 1; j < n; j++) {
if (A[i] == A[j]) {
printf("Duplicate found: %d at positions %d and %d\n", A[i], i, j);
duplicateFound = 1; // mark that we found a duplicate
}
}
}

// After checking all, return based on the result


if (duplicateFound)
return 0;
else
return 1;
}

2. Max Element

#include <stdio.h>

int MaxElement(int[], int);

int main() {
printf("Program to find the Largest element in the given Array (Brute Force Method)\n");
printf("Author : Dr. Paras Jain\n");
printf("Experiment Date: 04-02-2022\n");
printf("Submission Date : \n\n");

int A[50], n, i, maxval;

printf("Enter the Array Size: ");


scanf("%d", &n);

printf("\nEnter the Array Elements:\n");


for (i = 0; i < n; i++) {
printf("Enter element number %d: ", i + 1);
scanf("%d", &A[i]);
}

printf("\nThe elements entered for the array are:\n[ ");


for (i = 0; i < n; i++) {
printf("%d ", A[i]);
}
printf("]\n");

maxval = MaxElement(A, n);


printf("\n\nThe largest element in the given array is: %d\n", maxval);
return 0;
}

int MaxElement(int A[], int n) {


int i, j, isMax;

for (i = 0; i < n; i++) {


isMax = 1;
for (j = 0; j < n; j++) {
if (A[j] > A[i]) {
isMax = 0;
break;
}
}
if (isMax == 1) {
return A[i];
}
}

return -1;
}

3. Recursive max element

#include <stdio.h>

int BruteForceMax(int[], int);

int main() {

printf("Program to find Largest element in the given Array using Brute Force\n");

printf("Author : Dr. Paras Jain\n");

printf("Experiment Date: 04-02-2022\n");

printf("Submission Date : \n\n");

int A[50], n, i, maxval;

printf("Enter the Array Size: ");


scanf("%d", &n);

printf("\nEnter the Array Elements:\n");

for (i = 0; i < n; i++) {

printf("Enter element number %d: ", i + 1);

scanf("%d", &A[i]);

printf("\nThe elements entered for the array are:\n[ ");

for (i = 0; i < n; i++) {

printf("%d ", A[i]);

printf("]\n");

maxval = BruteForceMax(A, n);

printf("\n\nThe largest element in the given Array is: %d\n", maxval);

return 0;

int BruteForceMax(int A[], int n) {

int i, j, isMax;

for (i = 0; i < n; i++) {

isMax = 1;

for (j = 0; j < n; j++) {

if (A[j] > A[i]) {

isMax = 0;

break;

}
if (isMax == 1) {

return A[i];

return -1;

4. matrix multiplication

#include <stdio.h>

void inputMatrix(int matrix[][20], int n, char name);

void MatrixMul(int A[][20], int B[][20], int n);

void printArray(int A[][20], int n);

int main() {

int A[20][20], B[20][20], n;

printf("Program for multiplication of two matrices A and B with dimensions n*n\n");

printf("Author : Dr. Paras Jain\n");

printf("Experiment Date : \n");

printf("Submission Date : \n");

printf("------------------------------------------------------------\n");

printf("Enter the matrix dimension: ");

scanf("%d", &n);

inputMatrix(A, n, 'A');

inputMatrix(B, n, 'B');

printf("\nMatrix A:\n");
printArray(A, n);

printf("\nMatrix B:\n");

printArray(B, n);

MatrixMul(A, B, n);

return 0;

void inputMatrix(int matrix[][20], int n, char name) {

int i, j;

printf("\nEnter elements for Matrix %c:\n", name);

for (i = 0; i < n; i++) {

for (j = 0; j < n; j++) {

printf("Enter %c[%d][%d]: ", name, i, j);

scanf("%d", &matrix[i][j]);

void MatrixMul(int A[][20], int B[][20], int n) {

int C[20][20];

int i, j, k, sum;

for (i = 0; i < n; i++) {

for (j = 0; j < n; j++) {

sum = 0;

for (k = 0; k < n; k++) {

sum += A[i][k] * B[k][j];

}
C[i][j] = sum;

printf("\nResultant Matrix C = A * B:\n");

printArray(C, n);

void printArray(int A[][20], int n) {

int i, j;

for (i = 0; i < n; i++) {

for (j = 0; j < n; j++) {

printf("%4d ", A[i][j]);

printf("\n");

5. tower of Hanoi

#include <stdio.h>

void towerOfHanoi(int n, char src, char aux, char dest);

int main() {
int n, totalMoves = 1;

printf("Program to find moves for Tower of Hanoi puzzle using recursion\n");


printf("Author: Dr. Paras Jain\n");
printf("Experiment Date: 03-02-2022\n");
printf("Submission Date:\n\n");

printf("Enter the number of disks: ");


scanf("%d", &n);

printf("\nSequence of moves:\n");
towerOfHanoi(n, 'S', 'A', 'D');
for (int i = 1; i <= n; i++) {
totalMoves *= 2;
}

printf("\nTotal number of moves: %d\n", totalMoves - 1);

return 0;
}

void towerOfHanoi(int n, char src, char aux, char dest) {


if (n == 1) {
printf("Move disk 1 from %c to %c\n", src, dest);
return;
}

towerOfHanoi(n - 1, src, dest, aux);


printf("Move disk %d from %c to %c\n", n, src, dest);
towerOfHanoi(n - 1, aux, src, dest);
}

You might also like