Tuesday 19 August 2014

Finding Tokens in a String Using C Language

#include
#include
#include

void main()
{
char a[80];
int i=0;
clrscr();
printf("Enter the string\n");
gets(a);
while(a[i]!='\0')
{
 for(;a[i]==' ';i++);
 {
for(;a[i]!=' '&&a[i]!='\0';i++)
printf("%c",a[i]);
}
printf("%c \n",a[i]);}
getch();
}

Remove Space In String Using C

#include
#include
#include

void main()
{
char a[80];
int i=0;
clrscr();
printf("Enter the string\n");
gets(a);
while(a[i]!='\0')
{
 for(;a[i]==' ';i++);
 {
for(;a[i]!=' '&&a[i]!='\0';i++)
printf("%c",a[i]);
}
printf("%c \n",a[i]);}
getch();
}

Accept 10 numbers and store in an array, print sorted array in descending and ascending order


#include<stdio.h>
#include<conio.h>
void main()
{
int a[10],i,j,temp;
clrscr();
printf("Enter 10 nos\n");

for(i=0;i<10 i="" nbsp="" span="">
 scanf("%d",&a[i]);
 for(i=0;i<10 i="" span="">
 { 
 for(j=i+1;j<10 j="" span="">
 {
 if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<10 i="" span="">
 printf(" %d ",a[i]);
 printf(" Nos sorted in ascending order\n");
 printf("\n");
 for(i=9;i>=0;i--)
printf(" %d ",a[i]);
printf(" Nos sorted in descending order\n");
getch();
}

Sunday 6 July 2014

Postfix Calculations In C


#include<stdio.h>
#include<conio.h>
#define STACKSIZE 20
typedef struct{
int top;
int items[STACKSIZE]; /*stack can contain up to 20 integers*/
}STACK;
void push(STACK *, int);
int pop(STACK *);
int calculate(char []);
int main()
{
int result;
char E[50];
printf("Enter your Postfix expression(don't use space character):\n");
scanf("%s",E);
result = calculate(E);
printf("The result of the Postfix expression %s=%d\n",E,result);
return 0;
}
int calculate(char exp[])
{
STACK s;
s.top =-1;/*indicates that the stack is empty at the beginning*/
int i,num1,num2,value;
for(i=0; exp[i]!='\0';i++){
if(exp[i] >='0' && exp[i] <='9') /*checks if exp[i] has a digit*/
push(&s,(int)(exp[i] -'0')); /*converts digit into integer*/
else{
num1=pop(&s);
num2=pop(&s);
switch(exp[i]){
case '+': value=num2+num1;break;
case '-': value=num2-num1;break;
case '*': value=num2*num1;break;
case '/': value=num2/num1;break;
default : printf("Illegal Operator\n");
exit(1);
}
push(&s,value);
}
}
return pop(&s);
}
void push(STACK *Sptr, int ps) /*pushes ps into stack*/
{
if(Sptr->top == STACKSIZE-1){
printf("Stack is full\n");
exit(1); /*exit from the function*/
}
else {
Sptr->top++;
Sptr->items[Sptr->top]= ps;
}
}
int pop(STACK *Sptr)
{
int pp;
if(Sptr->top == -1){
printf("Stack is empty\n");
exit(1); /*exit from the function*/
}
else {
pp = Sptr->items[Sptr->top];
Sptr->top--;
}
return pp;
}



Find Postfix Calculations In C


#include<stdio.h>
#include<conio.h>
#define STACKSIZE 20
typedef struct{
int top;
int items[STACKSIZE]; /*stack can contain up to 20 integers*/
}STACK;
void push(STACK *, int);
int pop(STACK *);
int calculate(char []);
int main()
{
int result;
char E[50];
printf("Enter your Postfix expression(don't use space character):\n");
scanf("%s",E);
result = calculate(E);
printf("The result of the Postfix expression %s=%d\n",E,result);
return 0;
}
int calculate(char exp[])
{
STACK s;
s.top =-1;/*indicates that the stack is empty at the beginning*/
int i,num1,num2,value;
for(i=0; exp[i]!='\0';i++){
if(exp[i] >='0' && exp[i] <='9') /*checks if exp[i] has a digit*/
push(&s,(int)(exp[i] -'0')); /*converts digit into integer*/
else{
num1=pop(&s);
num2=pop(&s);
switch(exp[i]){
case '+': value=num2+num1;break;
case '-': value=num2-num1;break;
case '*': value=num2*num1;break;
case '/': value=num2/num1;break;
default : printf("Illegal Operator\n");
exit(1);
}
push(&s,value);
}
}
return pop(&s);
}
void push(STACK *Sptr, int ps) /*pushes ps into stack*/
{
if(Sptr->top == STACKSIZE-1){
printf("Stack is full\n");
exit(1); /*exit from the function*/
}
else {
Sptr->top++;
Sptr->items[Sptr->top]= ps;
}
}
int pop(STACK *Sptr)
{
int pp;
if(Sptr->top == -1){
printf("Stack is empty\n");
exit(1); /*exit from the function*/
}
else {
pp = Sptr->items[Sptr->top];
Sptr->top--;
}
return pp;
}



EXAMPLE OF PALINDROME IN C PROGRAMMING

/*
The strings where the reading from the reverse and forward directions give the same word are called
a palindrome.

For example, -> the string ”radar” is an example for palindrome.
Among many other techniques stack can be used to determine if a string is a palindrome or not.
This is achieved by pushing all the letters of a given word into stack and checking if the letters popped are the same as the letter of the string.
*/

#include<stdio.h>
#include<conio.h>
#define STACKSIZE 25
typedef struct
{
int count;
int top;
char items[STACKSIZE];/*stack can contain up to 20 characters*/
}STACK;
void push(STACK *, int);
char pop(STACK *);
Sptr->count--;
}
return pp;
}
int main()
{
int i, check=0, size;
STACK s;
char p, A[20];
s.count=0;
s.top = -1; /*indicates that the stack is empty at the beginning*/
printf("Enter the string\n");
gets(A); /* alternatively you can use scanf("%s",A); */
/*pushing the characters of the string into the stack*/
for(i=0; A[i]!='\0';i++){
p = A[i];
push(&s,p);
}
size = s.count;
/*popping and checking if the letters are equal in rev. & forw.direction*/
for(i=0;i<=size-1;i++){
p=pop(&s);
if(p != A[i])
check ++;
}
if(check == 0)
printf("\nThe string %s is a palindrome\n",A);
else
printf("\nThe string %s is NOT a palindrome\n",A);
return 0;
}
void push(STACK *Sptr, int ps) /*pushes ps into stack*/
{
if(Sptr->top == STACKSIZE-1){
printf("Stack is full\n");
exit(1); /*exit from the function*/
}
else {
Sptr->top++;
Sptr->count++;
Sptr->items[Sptr->top]= ps;
}
}
char pop(STACK *Sptr)
{
char pp;
if(Sptr->top == -1){
printf("Stack is empty\n");
exit(1); /*exit from the function*/
}
else {
pp = Sptr->items[Sptr->top];
Sptr->top--;
Sptr->count--;
}
return pp;
}


Find string is a palindrome or not In c

/*
The strings where the reading from the reverse and forward directions give the same word are called
a palindrome.

For example, -> the string ”radar” is an example for palindrome.
Among many other techniques stack can be used to determine if a string is a palindrome or not.
This is achieved by pushing all the letters of a given word into stack and checking if the letters popped are the same as the letter of the string.
*/

#include<stdio.h>
#include<conio.h>
#define STACKSIZE 25
typedef struct
{
int count;
int top;
char items[STACKSIZE];/*stack can contain up to 20 characters*/
}STACK;
void push(STACK *, int);
char pop(STACK *);
Sptr->count--;
}
return pp;
}
int main()
{
int i, check=0, size;
STACK s;
char p, A[20];
s.count=0;
s.top = -1; /*indicates that the stack is empty at the beginning*/
printf("Enter the string\n");
gets(A); /* alternatively you can use scanf("%s",A); */
/*pushing the characters of the string into the stack*/
for(i=0; A[i]!='\0';i++){
p = A[i];
push(&s,p);
}
size = s.count;
/*popping and checking if the letters are equal in rev. & forw.direction*/
for(i=0;i<=size-1;i++){
p=pop(&s);
if(p != A[i])
check ++;
}
if(check == 0)
printf("\nThe string %s is a palindrome\n",A);
else
printf("\nThe string %s is NOT a palindrome\n",A);
return 0;
}
void push(STACK *Sptr, int ps) /*pushes ps into stack*/
{
if(Sptr->top == STACKSIZE-1){
printf("Stack is full\n");
exit(1); /*exit from the function*/
}
else {
Sptr->top++;
Sptr->count++;
Sptr->items[Sptr->top]= ps;
}
}
char pop(STACK *Sptr)
{
char pp;
if(Sptr->top == -1){
printf("Stack is empty\n");
exit(1); /*exit from the function*/
}
else {
pp = Sptr->items[Sptr->top];
Sptr->top--;
Sptr->count--;
}
return pp;
}