Professional Documents
Culture Documents
18BCE1064
Day 3
#include<iostream>
#include<conio.h>
#define MAX_SIZE 20
int stack[MAX_SIZE];
int top=-1;
int isFull()
if(top==MAX_SIZE)
return 1;
else
return 0;
int isEmpty()
if(top==-1)
return 1;
else
return 0;
if(isFull())
cout<<"Stack Overflow!!!";
exit(0);
else
top++;
stack[top]=val;
void pop()
if(isEmpty())
cout<<"Stack Underflow";
else
stack[top]=NULL;
top--;
void peek()
{
cout<<stack[top];
void disp()
if(isFull())
cout<<"Stack overflow!!!";
exit(0);
else
while(top>-1)
cout<<"<-"<<stack[top];
top--;
int main()
int ch;
do
{
cout<<"1.Push\n2.Pop\n3.Peek\n4.Display\n5.Exit\n\n";
cin>>ch;
switch(ch)
case 1:
int data;
cin>>data;
push(data);
break;
case 2:
pop();
break;
case 3:
peek();
break;
case 4:
disp();
break;
case 5:
break;
default:
}
cin>>ch;
}while(ch!=5);
return 0;
}
#include<iostream>
#define MAX_SIZE 20
int s1[]={2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int s2[MAX_SIZE];
int s3[MAX_SIZE];
int top1=18,top2=-1,top3=-1;
void transfer2()
top2++;
s2[top2]=s1[top1];
top1--;
void transfer3()
top3++;
s3[top3]=s2[top2];
top2--;
int main()
{
while(top2<MAX_SIZE-2)
transfer2();
while(top3<MAX_SIZE-2)
transfer3();
cout<<"\nStack 1 : ";
for(int i=top3;i>-1;i--)
cout<<s1[i]<<"->";
cout<<"\nStack 2 : ";
for(int i=top3;i>-1;i--)
cout<<s2[i]<<"->";
cout<<"\nStack 3 : ";
for(int i=top3;i>-1;i--)
cout<<s3[i]<<"->";
return 0;
}
#include<iostream>
#include<string.h>
#define MAX_SIZE 20
char stack[MAX_SIZE];
string exp;
int top=-1;
void push(char c)
//if(top>=MAX_SIZE)
//{
// exit(0);
//}
//else
//{
top++;
stack[top]=c;
//}
void pop()
stack[top]=NULL;
top--;
if(stack[n]=='{'&&c=='}')
return 1;
else if(stack[n]=='('&&c==')')
return 1;
else if(stack[n]=='['&&c==']')
return 1;
else
return 0;
int main()
cin>>exp;
for(int i=0;i<exp.length();i++)
if(exp[i]=='{'||exp[i]=='('||exp[i]=='[')
push(exp[i]);
else
if(comparison(exp[i],top)==1)
pop();
}
if(top==-1)
cout<<"Balanced";
else
cout<<"Not balanced";
return 0;
}
#include <bits/stdc++.h>
bool isOperator(char c)
int getPriority(char C)
if (C == '-' || C == '+')
return 1;
return 2;
else if (C == '^')
return 3;
return 0;
int l = infix.size();
stack<char> char_stack;
string output;
output += infix[i];
char_stack.push('(');
output += char_stack.top();
char_stack.pop();
char_stack.pop();
else {
if (isOperator(char_stack.top())) {
while (getPriority(infix[i])
<= getPriority(char_stack.top())) {
output += char_stack.top();
char_stack.pop();
char_stack.push(infix[i]);
}
return output;
int l = infix.size();
reverse(infix.begin(), infix.end());
if (infix[i] == '(') {
infix[i] = ')';
i++;
infix[i] = '(';
i++;
reverse(prefix.begin(), prefix.end());
return prefix;
int main()
string s;
cin>>s;
int ch;
cin>>ch;
if(ch==2)
if(ch==1)
cout<< infixToPostfix(s)<<std::endl;
return 0;
}
#include <iostream>
return res;
}
int main()
char exp[20];
scanf("%s",&exp);
(res == -1)? cout << exp << " is " << "Invalid\n":
cout << "Value of " << exp << " is " << res << endl;
return 0;
}
#include<stdio.h>
main()
float u=0.3;
float v;
float *pu;
float *pv;
pu=&u;
v=*pu;
pv=&v;
}
#include<stdio.h>
main()
double u=(0.3)*1045;
double v;
double *pu;
double *pv;
pu=&u;
v=*pu;
pv=&v;
}
#include<stdio.h>
main()
char u='C';
char v;
char *pu;
char *pv;
pu=&u;
v=*pu;
pv=&v;
}
#include<stdio.h>
main()
float v=0.3;
float *pv;
pv=&v;
printf("\n*pv=%f v=%f",*pv,v);
*pv=0;
printf("\n\n*pv=%f v=%f",*pv,v);
}
#include<stdio.h>
main()
double v=0.3*1045;
double *pv;
pv=&v;
printf("\n*pv=%lf v=%lf",*pv,v);
*pv=0;
printf("\n\n*pv=%lf v=%lf",*pv,v);
}
#include<stdio.h>
main()
char v='C';
char *pv;
pv=&v;
printf("\n*pv=%c v=%c",*pv,v);
*pv=0;
printf("\n\n*pv=%c v=%c",*pv,v);