Materials of VTU CBCS 7th sem Machine Learning(15CS73), Machine Learning Lab(15CSL76), 6th sem Python Application Programming(156CS664), 3rd sem Data Structures (15CS33), Data Structure in C Lab (15CSL38)
Showing posts with label Stack. Show all posts
Showing posts with label Stack. Show all posts
Thursday 18 August 2016
Friday 12 August 2016
Monday 8 August 2016
Lab Program 3 Stack 15CSL38 Data Structures in C Lab
Lab Program 3:
Design, Develop and Implement a menu driven Program in C for the following operations on STACK of Integers (Array Implementation of Stack with maximum size MAX)
a. Push an Element on to Stack
b. Pop an Element from Stack
c. Demonstrate how Stack can be used to check Palindrome
d. Demonstrate Overflow and Underflow situations on Stack
e. Display the status of Stack
f. Exit
Support the program with appropriate functions for each of the above operations
#include<stdio.h>
#include<stdlib.h>
#define MAX 5
int s[MAX];
int top = -1;
void push(int
item);
int pop();
void
palindrome();
void display();
void main()
{
int
choice, item;
while(1)
{
printf("\n\n\n\n~~~~~~Menu~~~~~~
: ");
printf("\n=>1.Push
an Element to Stack and Overflow demo ");
printf("\n=>2.Pop
an Element from Stack and Underflow demo");
printf("\n=>3.Palindrome
demo ");
printf("\n=>4.Display
");
printf("\n=>5.Exit");
printf("\nEnter
your choice: ");
scanf("%d",
&choice);
switch(choice)
{
case
1: printf("\nEnter an element to be pushed: ");
scanf("%d", &item);
push(item);
break;
case
2: item = pop();
if(item != -1)
printf("\nElement
popped is: %d", item);
break;
case
3: palindrome();
break;
case
4: display();
break;
case
5: exit(1);
default: printf("\nPlease enter valid choice ") ;
break;
}
}
}
void push(int
item)
{
if(top
== MAX-1)
{
printf("\n~~~~Stack
overflow~~~~");
return;
}
top
= top + 1 ;
s[top]
= item;
}
int pop()
{
int
item;
if(top
== -1)
{
printf("\n~~~~Stack
underflow~~~~");
return
-1;
}
item
= s[top];
top
= top - 1;
return
item;
}
void display()
{
int
i;
if(top
== -1)
{
printf("\n~~~~Stack
is empty~~~~");
return;
}
printf("\nStack
elements are:\n ");
for(i=top;
i>=0 ; i--)
printf("|
%d |\n", s[i]);
}
void
palindrome()
{
int
flag=1,i;
printf("\nStack
content are:\n");
for(i=top;
i>=0 ; i--)
printf("|
%d |\n", s[i]);
printf("\nReverse
of stack content are:\n");
for(i=0;
i<=top; i++)
printf("|
%d |\n", s[i]);
for(i=0;
i<=top/2; i++)
{
if(
s[i] != s[top-i] )
{
flag
= 0;
break;
}
}
if(flag
== 1)
{
printf("\nIt
is palindrome number");
}
else
{
printf("\nIt
is not a palindrome number");
}
}
Output:
~~~~~~Menu~~~~~~
:
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 11
~~~~~~Menu~~~~~~
:
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 12
~~~~~~Menu~~~~~~
:
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 13
~~~~~~Menu~~~~~~
:
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 14
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 15
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 16
~~~~Stack overflow~~~~
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 4
Stack elements are:
| 15 |
| 14 |
| 13 |
| 12 |
| 11 |
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 15
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 4
Stack elements are:
| 14 |
| 13 |
| 12 |
| 11 |
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 14
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 13
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 12
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 11
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
~~~~Stack underflow~~~~
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 4
~~~~Stack is empty~~~~
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 11
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 22
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 11
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 3
Stack content are:
| 11 |
| 22 |
| 11 |
Reverse of stack content are:
| 11 |
| 22 |
| 11 |
It is palindrome number
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 11
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 22
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 2
Element popped is: 11
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 11
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 22
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 1
Enter an element to be pushed: 33
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 3
Stack content are:
| 33 |
| 22 |
| 11 |
Reverse of stack content are:
| 11 |
| 22 |
| 33 |
It is not a palindrome number
~~~~~~Menu~~~~~
=>1.Push an
Element to Stack and Overflow demo
=>2.Pop an
Element from Stack and Underflow demo
=>3.Palindrome
demo
=>4.Display
=>5.Exit
Enter your
choice: 5
Also Credits to:
Manoj Taleka (manoj89biet@gmail.com)
Yashaswini Jogi (jogi.yash@gmail.com)
Sunday 31 July 2016
N Fibonacci series using Recursion
Recursion: Fibonacci Series
Write a program to print N Fibonacci terms using Recursion.
#include<stdio.h>
int fib(int n);
void main()
{
int
i, n;
printf("\nEnter
the value of n:");
scanf("%d",
&n);
printf("\n
%d fibonacci terms are: ", n);
for(i=0;
i<n; i++)
printf("%d
", fib(i));
}
int fib(int n)
{
if(n
== 0)
return
0;
else
if(n == 1)
return
1;
else
return
(fib(n-1) + fib(n-2));
}
Output:
Enter the value of
n: 10
10 fibonacci terms
are:
0 1
1 2 3 5 8
13 21 34
Subscribe to:
Posts (Atom)