Pages

Friday 24 August 2012

CHECK BALANCED EXPRESSION USING STACK




/* check balanced  expression using stack */

#include < stdio.h >
#include < conio.h >
#define max 50

void main()
{
                char stk[max],exp[100];
                int top,i;              
                clrscr();
                top = -1;              
                printf("\nEnter an infix expression ");
                gets(exp);          
                for(i=0; exp[i] != '\0'; i++)
                {
                                if( exp[i]=='(' || exp[i] =='[' || exp[i] == '{' )
                                {
                                                top++;
                                                stk[top]= exp[i];
                                }
                                else
                                if ( exp[i] == ')' )
                                {
                                                if( stk[top] == '(' )
                                                top--;
                                }
                                else
                                {
                                                printf("Unbalanced exp");
                                                exit(0);
                                }
                                }
                                else
                                if ( exp[i] == ']' )
                                {
                                if( stk[top] == '[' )
                                                top--;
                                else
                                {
                                                printf("Unbalanced exp");
                                                exit(0);
                                }
                                }
                                else
                                if ( exp[i] == '}' )
                                {
                                if( stk[top] == '{' )
                                                top--;
                                else
                                {
                                                printf("Unbalanced exp");
                                                exit(0);
                                }
                                }
                } // for
                if( top == -1 )
                                printf("Exp is balanced");
                else
                                printf("Exp is not balanced");


AVERAGE OF N NUMBERS


/* Average Of N Numbers */



#include < stdio.h >
#include < conio.h >

void main()
{
                float a[20],sum,avg;
                int n,i;
                clrscr();
                printf("\nEnter n : ");
                scanf("%d", &n);
                printf("\nEnter %d numbers \n",n);
                for(i=0;i < n;i++)
                {
                   scanf("%f", &a[i]);
                }
                sum = 0;
                for(i=0;i < n;i++)
                {
                                sum += a[i];
                }
                avg = sum / n;
                printf("\nEntered %d numbers are \n",n);
                for(i=0;i < n;i++)
                {
                                printf("\n%.2f",a[i]);
                }
                printf("\nThe average of numbers is %f",avg);