CSE Assignment 02
CSE Assignment 02
Assignment 02
1.
Function to print a custom message.
#include <stdio.h>
int main() {
printCustomMessage("This is a custom message.");
return 0;
}
2.
Function to print an input character value.
#include <stdio.h>
void printCharValue(char c) {
printf("Value received from main: %c\n", c);
}
int main() {
char myChar;
printf("Enter any character: ");
scanf("%c",&myChar);
printCharValue(myChar);
return 0;
}
3.
Function to calculate the sum of n numbers coming from the console.
#include <stdio.h>
int sumOfNNumbers(int n) {
int sum = 0, num;
for (int i = 0; i < n; i++) {
printf("Enter number %d: ", i+1);
scanf("%d", &num);
sum += num;
}
return sum;
}
int main() {
int n = 3;
printf("Sum of the %d numbers is %d.\n", n, sumOfNNumbers(n));
return 0;
}
4.
Function to calculate the sum of n numbers coming from the console and stored in an array.
2 Sum In Function: 0
100 -100 Sum In Main: 0
#include <stdio.h>
int sum(int arr[], int n) {
int i, sum = 0;
for (i = 0; i < n; i++) {
sum += arr[i];
}
printf("Sum In Function: %d\n", sum);
return sum;
}
int main() {
int n, i;
printf("Enter the number of elements: ");
scanf("%d", &n);
int arr[n];
printf("Enter the elements:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int totalSum = sum(arr, n);
printf("Sum In Main: %d\n", totalSum);
return 0;
}
5.
Function to swap two numbers.
(Restriction: Pass by value)
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x,y;
printf("Enter two numbers: ");
scanf("%d %d",&x,&y);
printf("Value in func: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("Value in main: x = %d, y = %d\n", x, y);
return 0;
}
6.
Function to swap two numbers.
(Restriction: Pass by reference)
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1,num2;
printf("Enter two integers : ");
scanf("%d %d",&num1,&num2);
printf("Value in fun: %d %d\n", num2, num1);
swap(&num1, &num2);
printf("Value in main: %d %d\n", num1, num2);
return 0;
}
7.
Function to determine only even numbers in an array of input integers.
#include<stdio.h>
void even_numbers(int arr[], int size) {
printf("Even numbers in the array: ");
for(int i = 0; i < size; i++) {
if(arr[i] % 2 == 0) {
printf("%d ", arr[i]);
}
}
}
int main() {
int arr[5];
printf("Enter the numbers in array : ");
scanf("%d %d %d %d %d",&arr[0],&arr[1],&arr[2],&arr[3],&arr[4]);
int size = sizeof(arr) / sizeof(arr[0]);
even_numbers(arr, size);
return 0;
}
8.
Function that finds and returns the minimum value in an array.
#include <stdio.h>
int findMinimum(int arr[], int n) {
int i;
printf("how many numbers : ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
int min = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
int main() {
int arr[100],n;
int min = findMinimum(arr, n);
printf("The minimum value in the array is: %d\n", min);
return 0;
}
9.
Function that multiplies the array elements by 2 and returns the array.
#include <stdio.h>
int* multiplyByTwo(int arr[], int n) {
int i;
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
static int result[100];
for (i = 0; i < n; i++) {
result[i] = arr[i] * 2;
}
return result;
}
int main() {
int arr[100],n;
printf("How many numbers: ");
scanf("%d",&n);
int* result = multiplyByTwo(arr, n);
printf("The resulting array after multiplying each element by 2: ");
for (int i = 0; i < n; i++) {
printf("%d ", result[i]);
}
printf("\n");
return 0;
}
10.
Function to sort and return an input array in ascending order.
#include<stdio.h>
int sort_ascending(int arr[], int n) {
int i;
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
for(int i = 0; i < n - 1; i++) {
for(int j = i + 1; j < n; j++) {
if(arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
int main() {
int arr[100],n;
printf("How many numbers: ");
scanf("%d",&n);
int* sorted_arr = sort_ascending(arr, n);
printf("Sorted array in ascending order: ");
for(int i = 0; i < n; i++) {
printf("%d ", sorted_arr[i]);
}
return 0;
}
11.
Function “IsPrime()” to determine whether a number is prime or not.
#include<stdio.h>
int isPrime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("Enter any number: ");
scanf("%d",&n);
if (isPrime(n)) {
printf("%d is prime\n", n);
} else {
printf("%d is not prime\n", n);
}
return 0;
}
12.
Function “GeneratePrime()” to compute the prime numbers less than N, where N is an input
integer. GeneratePrime() uses IsPrime() to check whether a number is prime or not.
#include<stdio.h>
int isPrime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i*i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
void generatePrime(int n) {
printf("Prime numbers less than %d:\n", n);
for (int i = 2; i < n; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int n;
printf("Enter any number: ");
scanf("%d",&n);
generatePrime(n);
return 0;
}
13.
Function “GenNthPrime()” to compute the N th prime number, where N is an integer input.
#include <stdio.h>
int isPrime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i*i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int genNthPrime(int n) {
int count = 0;
int p = 2;
while (count < n) {
if (isPrime(p)) {
count++;
}
p++;
}
return p-1;
}
int main() {
int n;
printf("Enter any number: ");
scanf("%d",&n);
printf("The %dth prime number is %d\n", n, genNthPrime(n));
return 0;
}
14.
Implement the following functions and calculate standard deviation of an array whose
values come from the terminal-
TakeInput()
CalcMean(array, num_of_elem)
Calc_Std_deviation(array, num_of_elem)
Formula:
(Assuming, strlen(a)>strlen(b))
#include<stdio.h>
int find_substr(char a[], char b[]) {
int len_a = strlen(a);
int len_b = strlen(b);
for(int i=0; i<=(len_a-len_b); i++){
int j;
for(j=0; j<len_b; j++){
if(a[i+j] != b[j]){
break;
}
}
if(j == len_b){
return 1;
}
}
return -1;
}
int main() {
char a[] = "telescope";
char b[] = "less";
int result = find_substr(a, b);
if(result == 1) {
printf("1 \n");
} else {
printf("0 \n");
}
return 0;
}
16.
Function find_substr( ) that takes two string arrays (a, b) as parameters, uses function
str_length() to determine the lengths of the strings, and then looks for the smaller string
anywhere in the bigger string. It returns 1 if the substring is found, or returns –1 if no match
is found.
[Restriction: str_length() cannot uses built-in strlen() function]
#include <stdio.h>
int str_length(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int find_substr(char a[], char b[]) {
int len_a = str_length(a);
int len_b = str_length(b);
int i, j;
for (i = 0; i <= len_a - len_b; i++) {
for (j = 0; j < len_b; j++) {
if (a[i+j] != b[j]) {
break;
}
}
if (j == len_b) {
return 1;
}
}
return -1;
}
int main() {
char a[] = "madam";
char b[] = "adam";
if (find_substr(a, b) == 1) {
printf("1 \n");
} else {
printf("0 \n");
}
return 0;
}
17.
Program that continuously takes two positive integers as inputs and uses two functions to
find their GCD (greatest common divisor) and LCM (least common multiple). Both functions
take parameters and returns desired values.
[Hint: Use infinite loop to process inputs]
57 GCD: 1
LCM: 35
12 12 GCD: 12
LCM: 12
12 32 GCD: 4
LCM: 96
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int num1, num2;
while (1) {
printf("Enter two positive integers: ");
scanf("%d %d", &num1, &num2);
if (num1 <= 0 || num2 <= 0) {
printf("Invalid input. Both numbers must be positive.\n");
continue;
}
printf("GCD(%d, %d) = %d\n", num1, num2, gcd(num1, num2));
printf("LCM(%d, %d) = %d\n", num1, num2, lcm(num1, num2));
}
return 0;
}
18.
Program that implements function to perform operations on a 3X5 matrix:
InputMatrix()
ShowMatrix()
ScalarMultiply()
#include <stdio.h>
void InputMatrix(int matrix[3][5]) {
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 5; j++) {
printf("Enter element [%d][%d]: ", i, j);
scanf("%d", &matrix[i][j]);
}
}
}
void ShowMatrix(int matrix[3][5]) {
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 5; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
void ScalarMultiply(int matrix[3][5], int scalar) {
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 5; j++) {
matrix[i][j] *= scalar;
}
}
}
int main() {
int matrix[3][5];
int scalar;
InputMatrix(matrix);
printf("The original matrix:\n");
ShowMatrix(matrix);
printf("Enter a scalar to multiply the matrix by: ");
scanf("%d", &scalar);
ScalarMultiply(matrix, scalar);
printf("The scalar multiplied matrix:\n");
ShowMatrix(matrix);
return 0;
}
19.
Program that implements function to perform operations on a MXN matrix:
InputMatrix()
ShowMatrix()
ScalarMultiply()
#include <stdio.h>
void InputMatrix(int m, int n, int matrix[m][n]) {
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("Enter element [%d][%d]: ", i, j);
scanf("%d", &matrix[i][j]);
}
}
}
void ShowMatrix(int m, int n, int matrix[m][n]) {
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
void ScalarMultiply(int m, int n, int matrix[m][n], int scalar) {
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
matrix[i][j] *= scalar;
}
}
}
int main() {
int m, n;
printf("Enter number of rows and columns of matrix: ");
scanf("%d %d", &m, &n);
int matrix[m][n];
InputMatrix(m, n, matrix);
printf("The original matrix:\n");
ShowMatrix(m, n, matrix);
int scalar;
printf("Enter a scalar to multiply the matrix by: ");
scanf("%d", &scalar);
ScalarMultiply(m, n, matrix, scalar);
printf("The scalar multiplied matrix:\n");
ShowMatrix(m, n, matrix);
return 0;
}
20.
Program to convert a positive integer to another base using the following functions-
I. Get_Number_And_Base () : Takes number to be converted (N) and base value (B)
from user. Base must be between 2 and 16.
II. Convert_Number () : Does the conversion
#include <stdio.h>
int num, base, quo, rem, i = 0, j;
char hex[100];
void Get_Number_And_Base () {
printf("Enter the number to be converted: ");
scanf("%d", &num);
printf("Enter the base (between 2 and 16): ");
scanf("%d", &base);
}
void Convert_Number () {
quo = num;
while (quo != 0) {
rem = quo % base;
if (rem < 10) {
hex[i++] = rem + '0';
} else {
hex[i++] = rem + 55;
}
quo = quo / base;
}
}
void Show_Converted_Number() {
printf("The value of %d in base %d is: ", num, base);