School of Computer Engineering: Lab Records

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 28

School Of Computer Engineering

Computing Lab
Lab Records

Name : Ahmad Alsharef

Roll No : 1864012
Lab Record 1

1. Write a program to take a group of words as an input from the


user and arrange it in a dictionary manner.

#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char name[10][8],temp[9];
int i,j,n;
printf("enter the value n:\n");
cin >> n;
for (i=0;i<n;i++)
scanf("%s",name[i]);

for (i=0;i<n-1;i++)
{
for (j=i+1;j<n;j++)
{
if(strcmp(name[i],name[j])>0)
{
strcpy(temp,name[i]);
strcpy(name[i],name[j]);
strcpy(name[j],temp);
}
}
}
printf("after sorting string is:\n");
for(i=0;i<n;i++) printf(" %s ",name[i]);
return 1;
}

Output :
enter the value n:
4
Delhi
Mumbai
Chennai
Goa
after sorting string is:
Chennai Delhi Goa Mumbai
2. Write a Program to find the middle element of any pattern and
its neighbor elements.

#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
int n;
cout<<" Enter the size of the matrix";
cin>>n;
int median;
cout<<" Enter the ";
for (int i=0;i<n;i++)
for (int j=0;i<n;i++)
{
cout<<" Enter the value a[%d][%d]",i,j;
cin>>a[i][j]
}
if (n % 2 != 0) median=a[n/2+1][n/2+1];
if (n%2 == 0)
median= (a[(n-2)/2][n-1] +a[n/2][0])/2.0;
cout<< "Median : "<< median << endl;
return 0;
}
Output :
Enter the size of the matrix : 3
Enter the value a[0][0] : 1
Enter the value a[0][1] : 2
Enter the value a[0][2] : 3
Enter the value a[1][0] : 4
Enter the value a[1][1] : 5
Enter the value a[1][2] : 6
Enter the value a[2][0] : 7
Enter the value a[2][1] : 8
Enter the value a[2][2] : 9
Median :5
lab Record 2

1. Write a program to create the Binary search tree and perform


all its traversal operations.

#include<stdio.h>
#include<stdlib.h>
struct node
{
int key;
struct node *left, *right;
};
struct node *newNode(int item)
{
struct node *temp = (struct node *)malloc(sizeof(struct node));
temp->key = item;
temp->left = temp->right = NULL;
return temp;
}

void inorder(struct node *root)


{
if (root != NULL)
{
inorder(root->left);
printf("%d ", root->key);
inorder(root->right);

}
}
void postorder(struct node *root)
{
if (root != NULL)
{
postorder(root->left);
postorder(root->right);
printf("%d ", root->key);
}
}
void preorder(struct node *root)
{
if (root != NULL)
{
printf("%d ", root->key);
preorder(root->left);
preorder(root->right);
}
}
struct node* insert(struct node* node, int key)
{
if (node == NULL) return newNode(key);
if (key < node->key)
node->left = insert(node->left, key);
else if (key > node->key)
node->right = insert(node->right, key);
return node;
}

int main()
{
struct node *root = NULL;
root = insert(root, 50);
insert(root, 30);
insert(root, 20);
insert(root, 40);
insert(root, 70);
insert(root, 60);
insert(root, 80);

printf("Preorder :\n");
preorder(root);
printf("\nInorder : \n");
inorder(root);
printf("\nPostorder :\n");
postorder(root);

return 0;
}
Lab Record 3

1. Initialize some variables in R workspace and display what data


type of variable you created.

>a=2
>typeof(a)
output: "double"

>b=10L
>typeof(b)
output: "integer"

>c="Bhubaneswar"
>typeof(c)
output: "character"

>d=2i
>typeof(d)
output: "complex"

2. write a script to calculate Si.

>print("Enter principal value : ")


>p=10
>print("Enter Rate value : ")
>r=10
>print("Enter amount value : ")
>q=10
>si=p*q*r/100
>print(si)
output: 10

3. find out the area of circle.

>print("enter the radius of the circle")


>r=2
>area=3.14*r*r
>print(area)
output: 12.56
4. Write a script to findout the sum of digits of a three digit
number.

>readline(prompt="insert the number")


>num=as.integer(num)
>sum=0L
>sum=sum+round(num%%10)
>num=round(num/10)
>sum=sum+round(num%%10)
>num=round(num/10)
>sum=sum+round(num%%10)
>num=round(num/10)
>print(sum)
output: insert the number: 123
6

5. Write a script to convert a binary number to decimal number


and binary number should be in 3 bit.

>val=0L
>base=1L
>num=readline(prompt="Enter the 3 digits binary number: ")
>num=as.integer(num)
>rem=num%%10
>val=val+rem*base
>num=round(num/10)
>base=base*2
rem=num%%10
>val=val+rem*base
>num=round=(num/10)
>base=base*2
>print("Result")
>print(val)
output: Enter the 3 digits binary number
Result 5
Lab Record 4

1. Input 2 numbers and display the largest.

a=as.integer(readline(prompt="Enter the value of a"))


b=as.integer(readline(prompt="Enter the value of b"))
if (a>b)
{
print("a is the largest")
}
else
{
print("b is the largest")
}

output :
Enter the value of a 12
Enter the value of b 11
"a is the largest"

2. Input three numbers and find out the greatest.

a=as.integer(readline(prompt="Enter the value of a"))


b=as.integer(readline(prompt="Enter the value of b"))
c=as.integer(readline(prompt="Enter the value of c"))
if(a>b&a>c)
{print("a is the largest")}
else if(b>a&b>c)
{ print("b is the largest")}
else
{print("c is the largest")}

output :
Enter the value of a 2
Enter the value of b 1
Enter the value of b 13
"c is the largest"
3. Input three numbers and find out the second largest number.

a=as.integer(readline(prompt="Enter the value of a"))


b=as.integer(readline(prompt="Enter the value of b"))
c=as.integer(readline(prompt="Enter the value of c"))
if((a>b&a<c)||(a>c&a<b))
{ print("a is the second largest number")}
else
if((b>a&b<c)||(b>c&b<a))
{ print("b is the second largest number")}
else
{ print("c is the second largest number")}

output :
Enter the value of a 22
Enter the value of b 20
Enter the value of b 18
"b is the second largest number"

4. Input one number and check whether it is odd or even and


whether it is positive or negative.
a=as.integer(readline(prompt("Insert a"))
if (a%%2=0) {print("a is even")}
else {print("a is odd")}
if (a>0) {print("a is positive")}
else {print("a is negative")}
output :
Insert a -5
a is odd
a is negative
Lab Record 5

1. Input a number and check whether it is prime or not.

num=as.integer(readline(prompt="Insert the number"))


prime=0
if (num==1) prime=0
for (i in 2:(n-1))
{if ((num%%i==0)
{prime=0
break}
}
if(prime==1) print("number is prime")
else print("number is not prime")

Output :
Insert the number : 9
number is not prime

2. Input a number and check whether the number is armstrong or


not.

num = as.integer(readline(prompt="Insert a number: "))


sum = 0
temp = num
while(temp > 0) {
digit = temp %% 10
sum = sum + (digit ^ 3)
temp = floor(temp / 10)
}
if(num == sum) {
print(paste(num, "is armstrong "))
} else {
print(paste(num, "is not armstrong "))
}

Output :
Insert a number : 370
"370 is armstrong"
3. Write R program to write :
*
**
***
**** .

for (i in 1:4)
{
for(j in 1:i) {print("*")}
print("\n")
}

Output :
*
**
***
****

4. Write R program to write :


1
01
101
0101

for (i in 1:4)
{
for(j in 1:i)
{
if((i+j)%%2==0) print("1")
else print("0")
}
print("\n")
}

Output :
1
01
101
0101
5. write R program to draw :
1
12
123
1234
12345 .

for(i in 1:5)
{
for (j in 1:5-i) print(" ")
for (k in 1:i) print(i)
}
output :
1
12
123
1234
12345

6. Write R program to draw


1
121
12321
1234321
123454321

for(i in 1:5)
{
k<-i

for (j in 1:5-i) print(" ")


for (k in 1:i) print(i)
while(k!=1)
{
print(k-1)
k<-k-1
}
print("\n")
}
Output :
1
121
12321
1234321
123454321
7. Write R program to check whether a number is odd or even using
switch case.

a=as.integer(readline("Insert a number:"))
c<-(a%%2)
switch(c,print("Even"),print("Odd"))
output :
Insert a number : 4
Even

8. Findout the sum and average of prime numbers between 2 and 50.

count<-0
sum<-0
for(n in 2:50)
{
for (i in 2:n/2)
{
if((n%%i)==0)
{
sum=sum+i
count<-count+1
}
}
}
avg=sum/count
print("count : ",count,"\n")
print("sum : ",sum,"\n")
print("avg : ",avg,"\n")
Output:
count : 15
sum : 328
avg : 21.86667

9. Write R program to check whether number is perfect or not.

i=1
sum=0
num=as.integer(readline(prompt="Insert a number"))
while(i<num)
{
if(num%%i==0)
{
sum=sum+i
i++
}
}
if (sum==num) print("Number is perfect")
else print("Number is not perfect")
Output :
Insert a number : 12
Number is not perfect

10. Write a program to input a number to convert it from :


1. Decimal to Binary.
2. Binary to Decimal.

Binary <-function(d)
{
bsum<-0
bexp<-1
while(d>0)
{digit<-d%%2
bsum<-bsum+digit*bexp
bexp<-bexp*10}
return(bsum)
}
Decimal<-function(b)
{
dsum<-0
dexp<-1
while(b>0)
{digit<-b%%10
b<-floor(b/10)
dsum<-dsum+digit*bexp
bexp<-bexp*2}
return(dsum)
}
d<-readline("Insert Decimal : ")
d<-as.numeric(d)
b<-binary(d)
print("Binary: ",b)
d<decimal(b)
print("Decimal: ",d)
Output :
Insert Decimal : 6
Binary: 110
Decimal: 6
Lab Record 6

1. Write R program to display all arithmetic operation line Add,


Subtraction, Multiplication, Division in 4 separate functions
like function1, function2, function3, function4 by
illustrating a=of all the methodology of passing argument and
return type.

addition<-function(a,b)
{
c=a+b
return(c)
}
subtract<-function(a,b)
{
c=a-b
return(c)
}
multiply<-function(a,b)
{
c=a*b
return (c)
}
division<-function(a,b)
{
if(b!=0)
c=a/b
else print("error")
return(c)
}
a<-as.integer(readline(prompt="a: "))
b<-as.integer(readline(prompt="b: "))
print("addition:\n")
print(addition(a,b))
print("subtract:\n")
print(subtract(a,b))
print("multiply:\n")
print(multiply(a,b))
print("division:\n")
print(division(a,b))

Output:
a: 3
b: 3
addition:
6
subtract:
0
multiply:
9
division:
1

2. Write a program to find out the sum of n natural numbers using


a recursive function.

sum<-function(a)
{
if(a>0)
{
return(a+sum(a-1))
}
else { return(a) }
}
print(sum(100))

3. Write a program to find out the factional of n natural numbers


using a recursive function.
sum<-function(a)
{
if(a>0)
{
return(a+sum(a-1))
}
else { return(a) }
}
print(sum(100))

4. Write a program to find out the factorial of a number using


recursion function.

fact<-function(a)
{
if(a>1) {return(a*fact(a-1))}
else {return(a)}
}
print(fact(6)
Output :
720
Lab Record 7

1. Write R program to check whether the matrix is square or not.

cat( "Random Dimensions (Between 1 and 4) of the Matrix will be


generated\n")
a <- sample(1:4, 1)
b <- sample(1:4, 1)
cat("Rows Count : ",a,"\n")
cat("Columns Count : ",b,"\n")

M<-matrix(1:a*b, nrow=a)

if ( nrow(M)==ncol(M))
{
cat("Square")
} else
{
cat("Not Square")
}

Output :
Random Dimensions (Between 1 and 4) of the Matrix will be
generated
Rows Count : 4
Columns Count : 1
Not Square

2. Input two matrices and find out sum and mull.

cat("Random Dimensions (1..4) Matrices will be generated\n")


d <- sample(1:4, 1)
M1=matrix(sample.int(15, size = d*d), nrow = d, ncol = d)
M2=matrix(sample.int(15, size = d*d), nrow = d, ncol = d)
cat("Matrix1 is :\n")
M1
cat("Matrix2 is :\n")
M2
Summation=M1+M2
Multipliciation=M1*M2
cat("Summation is :\n")
Summation
cat("Multipliciation is :\n")
Multipliciation
Output :
Random Dimensions (1..4)Matrices will be generated
Matrix1 is :
[,1] [,2] [,3]
[1,] 6 10 1
[2,] 2 4 15
[3,] 12 8 14
Matrix2 is :
[,1] [,2] [,3]
[1,] 14 9 5
[2,] 1 10 6
[3,] 15 2 3
Summation is :
[,1] [,2] [,3]
[1,] 20 19 6
[2,] 3 14 21
[3,] 27 10 17
Multiplication is :
[,1] [,2] [,3]
[1,] 84 90 5
[2,] 2 40 90
[3,] 180 16 42

3. Input a matrix and find out the mid element and its neighbors.

cat( "Random Dimensions (Between 3 and 5) Matrix will be


generated\n")
roww <- sample(3:5, 1)
coll <- sample(3:5, 1)
M=matrix(sample.int(25, size = roww*coll), nrow = roww, ncol =
coll)
M
m=M[ceiling(roww/2),ceiling(coll/2)]
l=M[ceiling(roww/2),ceiling(coll/2)-1]
r=M[ceiling(roww/2),ceiling(coll/2)+1]
t=M[ceiling(roww/2)-1,ceiling(coll/2)]
b=M[ceiling(roww/2)+1,ceiling(coll/2)]
cat("\nMiddle is :",m)
cat("\nLeft is :",l)
cat("\nRight is :",r)
cat("\nTop is :",t)
cat("\nBottom is :",b)
Output:
Random Dimensions (Between 3 and 5) Matrix will be generated
[,1] [,2] [,3] [,4] [,5]
[1,] 14 25 1 6 22
[2,] 10 11 12 20 21
[3,] 2 3 24 5 4
[4,] 9 15 18 19 7
[5,] 8 13 17 16 23

Middle is : 24
Left is : 3
Right is : 5
Top is : 12
Bottom is : 18

4. Input one matrix and find out its min and max number.

cat( "Random Dimensions (Between 1 and 3) Matrix will be


generated\n")
roww <- sample(1:3, 1)
coll <- sample(1:3, 1)
M=matrix(sample.int(25, size = roww*coll), nrow = roww, ncol =
coll)
cat("Matrix is :\n")
M
cat("\nMax is : ",max(M))
cat("\nMin is : ",min(M))

Output :
Random Dimensions (Between 1 and 3) Matrix will be generated
Matrix is :
[,1] [,2] [,3]
[1,] 14 4 23
[2,] 3 17 22
[3,] 5 19 15
Max is : 23
Min is : 3
Lab Record 8
Box Plots

1. Apply different measures of variability over a common


dataset(variance, standard deviation, mean, max, median,
absolute deviation).

> data=read.csv("C:/Users/ALM/Downloads/LungCapData.csv")

> var(data$Age)

[1] 16.03802

> sd(data$Age)

[1] 4.00475

> mean(data$Age)

[1] 12.3269

> median(data$Age)

[1] 13

> max(data$Age)

[1] 19

> mad(data$Age)

[1] 4.4478

2. Segmentation of customers (<5000, =5000, >5000)[customer


dataset]
 Outlier detection
 missing values handling of gender, distance, mobility, and
age.
 Normalization.
 K-means clustering algo for performing segmenation.
>cus=read.csv("C:/Users/ALM/Downloads/customersegmentation.csv")

> head(cus)
Channel Region Fresh Milk Grocery Frozen Detergents_Paper Delicassen

1 2 3 12669 9656 7561 214 2674 1338

2 2 3 7057 9810 9568 1762 3293 1776

3 2 3 6353 8808 7684 2405 3516 7844

4 1 3 13265 1196 4221 6404 507 1788

5 2 3 22615 5410 7198 3915 1777 5185

6 2 3 9413 8259 5126 666 1795 1451

> length(cus)

[1] 8

> class(cus)

[1] "data.frame"

> hist(cus$Region)

> boxplot(cus$Region, horizontal = TRUE)


> cus1=cus[cus<5000]

> length(cus1)

[1] 2666

> head(cus1)

[1] 2 2 2 1 2 2

> class(cus1)

[1] "integer"

> boxplot(cus1, horizontal = T, main="boxblot <5000")

> hist(cus1)

> cus3=cus[cus>5000]

> length(cus3)

[1] 854

> head(cus3)

[1] 12669 7057 6353 13265 22615 9413

> class(cus3)

[1] "integer"
> boxplot(cus3, horizontal = T, main="boxblot >5000")

> hist(cus3)

# Normalization
>x=(cus-min(cus)/(max(cus)-min(cus)))

>View(x)

> results<- kmeans(cus, 3)

> results

K-means clustering with 3 clusters of sizes 330, 50, 60


Cluster means:
Channel Region Fresh Milk Grocery Frozen

1 1.260606 2.554545 8253.47 3824.603 5280.455 2572.661

2 1.960000 2.440000 8000.04 18511.420 27573.900 1996.680

3 1.133333 2.566667 35941.40 6044.450 6288.617 6713.967

Detergents_Paper Delicassen

1 1773.058 1137.497

2 12407.360 2252.020

3 1039.667 3049.467

Clustering vector:
[1] 1 1 1 1 3 1 1 1 1 2 1 1 3 1 3 1 1 1 1 1 1 1 3 2 3 1 1 1

[29] 2 3 1 1 1 3 1 1 3 1 2 3 3 1 1 2 1 2 2 2 1 2 1 1 3 1 3 1

[57] 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1

[85] 1 2 2 3 1 3 1 1 2 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 2 1 2

[113] 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1

[141] 1 3 3 1 1 2 1 1 1 3 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1

[169] 1 1 1 2 1 2 1 1 3 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1

[197] 3 1 1 1 2 2 3 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1

[225] 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 2

[253] 1 3 1 3 1 1 3 3 1 1 3 1 1 2 2 1 2 1 1 1 1 3 1 1 3 1 1 1

[281] 1 1 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1

[309] 1 2 1 3 2 1 1 1 1 1 1 2 1 1 1 1 3 3 1 1 1 1 1 2 1 2 1 3

[337] 1 1 1 1 1 1 1 2 1 1 1 3 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1

[365] 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 3 1 3 1 2 1 1 1 1 1 1 1

[393] 1 3 1 1 1 1 1 1 1 3 3 3 1 1 3 2 1 1 1 1 1 1 1 1 1 1 2 1

[421] 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 3 3 2 1 1

Within cluster sum of squares by cluster:

[1] 28184319111 26382784712 25765310355

(between_SS / total_SS = 49.0 %)


Available components:

[1] "cluster" "centers" "totss"

[4] "withinss" "tot.withinss" "betweenss"

[7] "size" "iter" "ifault

> table(cus$Channel,results$cluster)

1 2 3

1 244 2 52

2 86 48 8

>boxplot(results)

> plot(cus$Region,col=results$cluster)
3. Four attributes handling of Gender, Distance, Mobility, Age
[Case Study dataset].
 Outlier detection.
 missing values handling of gender, distance, mobility, and
age.
 linear Regression between attributes effect of gender and
mobility over the dataset.

> case=read.csv("C:/Users/ALM/Downloads/casestudy.csv")

> class(case)

[1] "data.frame"

> head(case)

Y gender distance mobility

1 1 female 18 car

2 1 female 220 car

3 1 female 22 car

4 0 male 35 car

5 0 female 2 car

6 1 male 15 car

age

1 74

2 76

3 54

4 60

5 62

6 40

> length(case)

[1] 5
> boxplot(case,main="CaseStudy BoxPlot")

> case[case=="na"]<-NA

> which(is.na(case$gender))

[1] 10 13 62 63 66 200 201 210 267 281 292 297 404

> which(is.na(case$distance))

[1] 10 13 62 63 66 200 201 210 253 267 281 292 404

> which(is.na(case$mobility))
[1] 10 13 62 63 66 109 139 145 161 182 186 187 200 201 205 207

[17] 210 226 227 229 237 240 246 251 252 259 267 268 269 271 274 278

[33] 281 283 292 294 298 303 304 316 319 329 333 336 357 363 366 388

[49] 389 390 399 404 412 413 420 421 423 431 432 434 443 446 456 458

[65] 459 468 478 482 484 489 507

> which(is.na(case$age))

[1] 10 13 62 63 66 200 201 210 267 281 292 404

> mean(as.numeric(case$age),na.rm = TRUE)

[1] 32.85516
> case=na.omit(case) #remove NAs

> plot(as.numeric(case$gender),as.numeric(case$mobility))

mod <- lm(as.numeric(gender)~as.numeric(mobility))

> abline(mod)

You might also like