Dec 30, 2011

C Program to add two polynomials using structures.

C Program to add two polynomials using structures. Structure is a c composite data type, in which we can define all the data types under the same name or object. Size of the Structure is the size of all data types, plus any internal padding. the key word "struct" is used to declare the structure. A Polynomial is a mathematical expression involving a sum of powers in one or more variables multiplied by coefficients. Read more about C Programming Language .

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include < stdio.h >
#include < conio.h >
#define MAX 20

struct addpolynomial {
 int exp, coef;
};

void main() {
 struct addpolynomial p1[MAX], p2[MAX], p3[MAX];
 int max1, max2, max3;
 clrscr();
 printf("\nEnter first addpolynomial : ");
 max1 = read_addpolynomial(p1);
 printf("\nEnter second addpolynomial : ");
 max2 = read_addpolynomial(p2);
 max3 = add_addpolynomial(p1, p2, p3, max1, max2);
 printf("\nFirst addpolynomial is ");
 print_addpolynomial(p1, max1);
 printf("\nSecond addpolynomial is ");
 print_addpolynomial(p2, max2);
 printf("\n The resultant addpolynomial after addition is");
 print_addpolynomial(p3, max3);
}

//function to read polynomial
int read_addpolynomial(struct addpolynomial p[]) {
 int i, texp;
 i = 0;
 printf("\nEnter exp ( use -1 to exit) : ");
 scanf("%d", &texp);
 while (texp != -1) {
  p[i].exp = texp;
  printf("\nEnter coef : ");
  scanf("%d", &p[i].coef);
  i++;
  printf("\nEnter exp ( use -1 to exit) : ");
  scanf("%d", &texp);
 }
 return (i);
}

//function to print polynomial
int print_addpolynomial(struct addpolynomial p[], intMAX1) {
 int i;
 for (i = 0; i < max1; i++)
  printf("%+dX%d ", p[i].coef, p[i].exp);
 return;
}

//function to ad polynomials
int add_addpolynomial( p1, p2, p3, max1, max2)
struct addpolynomial p1[], p2[], p3[];
intMAX1, max2;
{
 int i,j,k;
 i = j = k = 0;
 while ( i <max1 && j <max2)
 {
  if( p1[i].exp > p2[j].exp)
  {
   p3[k] = p1[i];
   k++;
   i++;
  }
  else
  if( p1[i].exp < p2[j].exp)
  {
   p3[k] = p2[j];
   k++;
   j++;
  }
  else
  {
   p3[k].exp = p1[i].exp;
   p3[k].coef = p1[i].coef + p2[j].coef;
   i++;
   j++;
   k++;
  }
 }
 while( i <max1 )
 {
  p3[k] = p1[i];
  k++;
  i++;
 }
 while( j <max2 )
 {
  p3[k] = p2[j];
  k++;
  j++;
 }
 return(k);
}

Array In C

C Data Structures

Simple C Programs
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!

To browse more C Programs visit this link

K & R C Programs Exercise 2-6.

K and R C, Solution to Exercise 2-6:
 K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language (2nd Edition) You can learn and solve K&R C Programs Exercise.
C Function setbits(x, p, n, y) that returns x with the n bits that begin at position p set to the rightmost n bits of y, leaving the other bits unchanged.Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include <stdio.h>

unsigned setbits(unsigned x, int p, int n, unsigned y)
{
 return (x & ((~0 << (p + 1)) | (~(~0 << (p + 1 - n))))) | ((y & ~(~0 << n)) << (p + 1 - n));
}

int main(void)
{
 unsigned i;
 unsigned j;
 unsigned k;
 int p;
 int n;

 for(i = 0; i < 30000; i += 511)
 {
  for(j = 0; j < 1000; j += 37)
  {
   for(p = 0; p < 16; p++)
   {
    for(n = 1; n <= p + 1; n++)
    {
     k = setbits(i, p, n, j);
     printf("setbits(%u, %d, %d, %u) = %u\n", i, p, n, j, k);
    }
   }
  }
 }
 return 0;
}

Read more Similar C Programs
C Basic

K and R C Programs Exercise

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!

To browse more C Programs visit this link

K & R C Programs Exercise 2-5.

K and R C, Solution to Exercise 2-5:
 K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise.
Write the C function any(s1, s2), which returns the first location in the string s1 where any character from the string s2 occurs, or -1 if s1 contains no characters from s2.The standard library function strpbrk does the same job but returns a pointer to the location.Read more about C Programming Language .

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

int any(char s1[], chars2[])
{
 int i, j;
 for(i=0;s1[i]!='\0';i++)

  for(j=0;s2[[j]!='\0' ;j++)

   if(s1[i]==s2[j])
    return i;

 return -1;
}
Read more Similar C Programs
C Basic

K and R C Programs Exercise

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!

To browse more C Programs visit this link

K & R C Programs Exercise 2-4.

K and R C, Solution to Exercise 2-4:
 K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise.
Write an alternate version of squeeze(s1,s2) that deletes each character in s1 that matches any character in the string s2.
Compare ,First string with the second string, if any character matched,  delete the matched character of the first string. Read more about C Programming Language .

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/


		/*squeeze: delete each char in s1 which is in s2*/
		void squeeze(char s1[], chars2[])
{
	int i, j, k;
	for(i=k=0;s1[i]!='\0';i++)
	{
		for(j=0;s2[[j]!='\0' && s2[j]!=s1[i];j++)
			;
		if(s2[j]=='\0')
			s1[k++]=s1[i];
	}
	s1[k]='\0';
}
Read more Similar C Programs
C Basic

K and R C Programs Exercise

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!



To browse more C Programs visit this link

Dec 21, 2011

C Program for Simple DSC order Priority QUEUE Implementation

Data structures using C,Priority QUEUE is a abstract data type in which the objects are inserted with respect to certain priority. In this program, we created the simple descending order priority queue, here items are inserted in descending order. Read more about C Programming Language .

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/
#define SIZE 5            /* Size of Queue */
int PQ[SIZE],f=0,r=-1;       /* Global declarations */

PQinsert(int elem)
{
 int i;       /* Function for Insert operation */
 if( Qfull()) printf("\n\n Overflow!!!!\n\n");
 else
 {
  i=r;
  ++r;
  while(PQ[i] <= elem && i >= 0) /* Find location for new elem */
  {
   PQ[i+1]=PQ[i];
   i--;
  }
  PQ[i+1]=elem;
 }
}

int PQdelete()
{                      /* Function for Delete operation */
 int elem;
 if(Qempty()){ printf("\n\nUnderflow!!!!\n\n");
 return(-1); }
 else
 {
  elem=PQ[f];
  f=f+1;
  return(elem);
 }
}

int Qfull()
{                     /* Function to Check Queue Full */
 if(r==SIZE-1) return 1;
 return 0;
}

int Qempty()
{                    /* Function to Check Queue Empty */
 if(f > r) return 1;
 return 0;
}

display()
{                  /* Function to display status of Queue */
 int i;
 if(Qempty()) printf(" \n Empty Queue\n");
 else
 {
  printf("Front->");
  for(i=f;i<=r;i++)
   printf("%d ",PQ[i]);
  printf("<-Rear");
 }
}

main()
{                         /* Main Program */
 int opn,elem;
 do
 {
  clrscr();
  printf("\n ### Priority Queue Operations(DSC order) ### \n\n");
  printf("\n Press 1-Insert, 2-Delete,3-Display,4-Exit\n");
  printf("\n Your option ? ");
  scanf("%d",&opn);
  switch(opn)
  {
  case 1: printf("\n\nRead the element to be Inserted ?");
  scanf("%d",&elem);
  PQinsert(elem); break;
  case 2: elem=PQdelete();
  if( elem != -1)
   printf("\n\nDeleted Element is %d \n",elem);
  break;
  case 3: printf("\n\nStatus of Queue\n\n");
  display(); break;
  case 4: printf("\n\n Terminating \n\n"); break;
  default: printf("\n\nInvalid Option !!! Try Again !! \n\n");
  break;
  }
  printf("\n\n\n\n  Press a Key to Continue . . . ");
  getch();
 }while(opn != 4);
}


Read more Similar C Programs
Data Structures

Learn C Programming
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

K & R C Programs Exercise 2-3.

K and R C, Solution to Exercise 2-3:
C Function htoi() which converts a string of hexa decimal digits into its equivalent integer value. K and R C Program. Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#define YES 1
#define NO  0
//HTOI: CONVERT HEXADECIMAL STRING S TO INTEGER
int htoi(char s[])
{
 int hexdigit, i, inhex, n,i=0;
 if(s[i]=='0'){
  ++i;
  if(s[i]=='x' || s[i]=='x')
   ++i;
 }
 n=0;
 inhex=YES;
 for(;inhex==YES;++i){
  if(s[i]>='0' && s[i]<='9')
   hexdigit=s[i]-'0';
  else if(s[i]>='a' && s[i]<='f')
   hexdigit=s[i]-'a'+10;
  else if (s[i]>='A' && s[i]<='F')
   hexdigit=s[i]-'A'+10;
  else
   inhex=NO;
  if(inhex==YES)
   n=16*n+hexdigit;
 }
 return n;
}


Read more Similar C Programs
C Basic

K and R C Programs Exercise
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

K & R C Programs Exercise 2-2.

K and R C, Solution to Exercise 2-2:
C Program to demonstrate for and while loops. K and R C Program. Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

/*Write the equivalent to the below for loop without using && or ||.*/

// Original
 
 for(i=0; i<lim-1 && (c=getchar()) != '\n' && c != EOF; ++i)
  {
   s[i] = c;
  }
// Equivalent:
 

 while (i < (lim - 1))
 {
  c = getchar();

  if (c == EOF)
   break;
  else if (c == '\n')
   break;

  s[i++] = c;
 }

Read more Similar C Programs
C Basic

K and R C Programs Exercise
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

K & R C Programs Exercise 2-1.

K and R C, Solution to Exercise 2-1:
C program to determine the ranges of char, short, int and long variables, both signed and unsigned, by printing appropriate values from standard headers and by direct computation.the ANSIstandard for C specifies that ranges be defined in <limits.h>. K and R C Program. Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include <stdio.h>
#include <limits.h>

int 
main ()
{
 printf("Range of Char %d\n", CHAR_BIT);
 printf("Range of Char Max %d\n", CHAR_MAX);
 printf("Range of Char Min %d\n", CHAR_MIN);
 printf("Range of int min %d\n", INT_MIN);
 printf("Range of int max %d\n", INT_MAX);
 printf("Range of long min %ld\n", LONG_MIN);       
 printf("Range of long max %ld\n", LONG_MAX);       
 printf("Range of short min %d\n", SHRT_MIN);
 printf("Range of short max %d\n", SHRT_MAX);
 printf("Range of unsigned char %u\n", UCHAR_MAX);  
 printf("Range of unsigned long %lu\n", ULONG_MAX); 
 printf("Range of unsigned int %u\n", UINT_MAX);    
 printf("Range of unsigned short %u\n", USHRT_MAX);

 return 0;
}

Read more Similar C Programs
C Basic

K and R C Programs Exercise
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

K & R C Programs Exercise 1-24.

K and R C, Solution to Exercise 1-24:
C program for rudimentary syntax errors like unbalanced parentheses, brackets,quotes,and braces. This program is hard if we do it in full generality. K and R C Program Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include <stdio.h>

#define MAXLINE 1000 /* max input line size */
char line[MAXLINE]; /*current input line*/

int getline(void); /* taken from the KnR book. */

int main() {
 int len = 0;
 int t = 0;
 int brace = 0, parenthesis = 0, brack = 0;
 int s_quote = 1, d_quote = 1;

 while ((len = getline()) > 0) {
  t = 0;
  while (t < len) {
   if (line[t] == '{') {
    brace++;
   }
   if (line[t] == '}') {
    brace--;
   }
   if (line[t] == '[') {
    brack++;
   }
   if (line[t] == ']') {
    brack--;
   }
   if (line[t] == '(') {
    parenthesis++;
   }
   if (line[t] == ')') {
    parenthesis--;
   }
   if (line[t] == '\'') {
    s_quote *= -1;
   }
   if (line[t] == '"') {
    d_quote *= -1;
   }
   t++;
  }
 }
 if (d_quote != 1)
  printf("Mismatching double quote mark\n");
 if (s_quote != 1)
  printf("Mismatching single quote mark\n");
 if (parenthesis != 0)
  printf("Mismatching parenthesis\n");
 if (brace != 0)
  printf("Mismatching braces\n");
 if (brack != 0)
  printf("Mismatching bracket mark\n");
 if (brack == 0 && brace == 0 && parenthesis == 0 && s_quote == 1 && d_quote
   == 1)
  printf("Syntax appears to be correct.\n");
 return 0;
}

/* getline function */
int getline(void) {
 int c, i;
 extern char line[];

 for (i = 0; i < MAXLINE - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
  line[i] = c;
 if (c == '\n') {
  line[i] = c;
  ++i;
 }
 line[i] = '\0';
 return i;

}

Read more Similar C Programs
C Basic

K and R C Programs Exercise
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

Dec 14, 2011

C Program for Simple ASC order Priority QUEUE Implementation

Data structures using C,Priority QUEUE is a abstract data type in which the objects are inserted with respect to certain priority. In this program, we created the simple ascending order priority queue, here items are inserted in ascending order. Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/
#define SIZE 5            /* Size of Queue */
int PQ[SIZE],f=0,r=-1;       /* Global declarations */

PQinsert(int elem)
 {
 int i;       /* Function for Insert operation */
  if( Qfull()) printf("\n\n Overflow!!!!\n\n");
  else
   {
    i=r;
    ++r;
    while(PQ[i] >= elem && i >= 0) /* Find location for new elem */
     {
      PQ[i+1]=PQ[i];
      i--;
      }
     PQ[i+1]=elem;
   }
  }

int PQdelete()
 {                      /* Function for Delete operation */
  int elem;
  if(Qempty()){ printf("\n\nUnderflow!!!!\n\n");
  return(-1); }
  else
   {
   elem=PQ[f];
   f=f+1;
   return(elem);
   }
 }

 int Qfull()
  {                     /* Function to Check Queue Full */
    if(r==SIZE-1) return 1;
    return 0;
  }

 int Qempty()
  {                    /* Function to Check Queue Empty */
    if(f > r) return 1;
    return 0;
  }

  display()
   {                  /* Function to display status of Queue */
    int i;
    if(Qempty()) printf(" \n Empty Queue\n");
    else
     {
      printf("Front->");
      for(i=f;i<=r;i++)
 printf("%d ",PQ[i]);
      printf("<-Rear");
     }
   }

  main()
  {                         /* Main Program */
   int opn,elem;
   do
    {
     clrscr();
     printf("\n ### Priority Queue Operations(ASC order) ### \n\n");
     printf("\n Press 1-Insert, 2-Delete,3-Display,4-Exit\n");
     printf("\n Your option ? ");
     scanf("%d",&opn);
     switch(opn)
      {
       case 1: printf("\n\nRead the element to be Inserted ?");
        scanf("%d",&elem);
        PQinsert(elem); break;
       case 2: elem=PQdelete();
        if( elem != -1)
    printf("\n\nDeleted Element is %d \n",elem);
        break;
       case 3: printf("\n\nStatus of Queue\n\n");
        display(); break;
       case 4: printf("\n\n Terminating \n\n"); break;
       default: printf("\n\nInvalid Option !!! Try Again !! \n\n");
  break;
      }
      printf("\n\n\n\n  Press a Key to Continue . . . ");
      getch();
      }while(opn != 4);
   }


Read more Similar C Programs
Data Structures

Learn C Programming
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

C Program to implementing two Stacks on Single Array.

Data structures using C, Stack is a data structure in which the objects are arranged in a non linear order. In stack, elements are aded or deleted from only one end, i.e. top of the stack. In this program, we implement the two stacks using the single array. Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/
#define SIZE 10            /* Size of Stack */
int s[SIZE],top[3]={0,-1,SIZE};
       /* Global declarations */
push(int elem,int stno)
 {
  int pos;      /* Function for PUSH operation */
  if( Sfull()) printf("\n\n Overflow!!!!\n\n");
  else
   {
    if(stno==1) pos= ++top[stno];
     else pos=--top[stno];
    s[pos]=elem;
    }
  }


int pop(int stno)
 {                      /* Function for POP operation */
  int elem,pos;
  if(Sempty(stno)){ printf("\n\nUnderflow!!!!\n\n");
  return(-1); }
  else
   {
    pos=top[stno];
    elem=s[pos];
    if(stno == 1)top[stno]--;
    else
    top[stno]++;
    return(elem);
   }
 }

 int Sfull()
  {                     /* Function to Check Stack Full */
    if(top[1] == top[2]-1) return 1;
    return 0;
  }

 int Sempty(stno)
  {
      /* Function to Check Stack Empty */
    switch(stno)
    {
    case 1: if(top[1] == -1) return 1; else return 0;
    case 2: if(top[2] == SIZE) return 1;else return 0;
    }
  }

  display(int stno)
   {                  /* Function to display status of Stack */
    int i;
    if(Sempty(stno)) printf(" \n Empty Stack\n");
    else
     {
     if(stno == 1)
     {
      for(i=0;i<=top[stno];i++)
 printf("%d\n",s[i]);
      printf("^Top");
     }
     else
     {
     for(i=SIZE-1;i>=top[stno];i--)
 printf("%d\n",s[i]);
      printf("^Top");
     }
   }
   }

  main()
  {                         /* Main Program */
   int opn,elem,stno;
   do
    {
     clrscr();
     printf("\n ### Stack Operations ### \n\n");
     printf("\n Stack Number (1,2): ");
     scanf("%d",&stno);
     printf("\n Press 1-Push, 2-Pop,3-Display,4-Exit\n");
     printf("\n Your option ? ");
     scanf("%d",&opn);

     switch(opn)
      {
       case 1: printf("\n\nRead the element to be pushed ?");
        scanf("%d",&elem);
        push(elem,stno); break;
       case 2: elem=pop(stno);
        if( elem != -1)
    printf("\n\nPopped Element is %d \n",elem);
        break;
       case 3: printf("\n\nStatus of Stack %d \n\n",stno);
        display(stno); break;
       case 4: printf("\n\n Terminating \n\n"); break;
       default: printf("\n\nInvalid Option !!! Try Again !! \n\n");
  break;
      }
      printf("\n\n\n\n  Press a Key to Continue . . . ");
      getch();
      }while(opn != 4);
   }


Read more Similar C Programs
Data Structures

Learn C Programming

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

Nov 22, 2011

K & R C Programs Exercise 1-23.

K and R C, Solution to Exercise 1-23: C program that removes the all comments from a C Program. K and R C Program. Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"
void rcomment(int c);
void in_comment(void);
void echo_quote(int c);
main();
{
 int c ,d;
 while((c= getchar()) !=EOF)
  rcomment(c);
 return 0;
}
void rcomment(int c) {
 int d;
 if(c == '/')
  if((d= getchar))=='*')
  in_comment();
  else if(d== '/') {
   putchar(c);
   rcomment(d);
  } else {
   putchar(c);
   putchar(d);
  }
  else if(c=='\' || c=='"')
    echo_quote(c);

}
void in_comment() {
 int c, d;
 c = getchar();
 d = getchar();
 while (c!= '*' || d!!='/') {
  c = d;
  d = getchar();
 }
}
void echo_quote(int c) {
 int d;
 putchar(c);
 while ((d = getchar()) != c) {
  putchar(d);
  if (d == '\\')
   putchar(getchar());

 }
 putchar(d);
}
Read more Similar C Programs
C Basic

K and R C Programs Exercise
You can easily select the code by double clicking on the code area above. To get regular updates on new C programs, you can
You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

K & R C Programs Exercise 1-22.

K and R C, Solution to Exercise 1-22:
 C program that folds the very long lines of input into two or more shorter lines. K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"

#define MAXSIZE 1000

char line[MAXSIZE];

int get_line(void);


int
main()
{
 int i,strlen;
 int location, spaceholder;
 const int foldlength=70;

 while (( strlen = get_line()) > 0 )
 {
  if( strlen < foldlength )
  {
  }
  else
  {

   i = 0;
   location = 0;
   while(i<strlen)
   {
    if(line[i] == ' ')
     spaceholder = i;

    if(location==foldlength)
    {
     line[spaceholder] = '\n';
     location = 0;
    }
    location++;
    i++;
   }
  }
  printf ( "%s", line);
 }
 return 0;
}


int get_line(void)
{
 int c, i;
 extern char line[];

 for ( i=0;i<MAXSIZE-1 && ( c=getchar()) != EOF && c != '\n'; ++i)
  line[i] = c;
 if(c == '\n')
 {
  line[i] = c;
  ++i;
 }
 line[i] = '\0';
 return i;

}
Read more Similar C Programs
C Basic

K and R C Programs Exercise

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

Nov 21, 2011

K & R C Programs Exercise 1-21.

K and R C, Solution to Exercise 1-21:
C Program to replace string of blanks by the minimum number of tabs and blanks to achieve the same spacing. K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"
#define TABSIZE 6   /*Tab increment size*/
main() {
 int c, no_blanks, pos, no_tabs;
 no_blanks = 0; /*number of blamks required*/
 no_tabs = 0; /* number of tabs required*/

 for (pos = 1; (c = getchar()) != EOF; ++pos) {
  if (c == ' ') {
   if (pos % TABSIZE != 0)
    ++no_blanks;
   else {
    no_blanks = 0;
    ++no_tabs;
   }
  } else {
   for (; no_tabs > 0; --no_tabs)
    putchar('\t');
   if (c == '\t')
    no_blanks = 0;
   else
    for (; no_blanks > 0; --no_blanks)
     putchar(' ');
   putchar(c);
   if (c == '\n')
    pos = 0;
   else if (c == '\t')
    pos = pos + (TABSIZE - (pos - 1) % TABSIZE);

  }
 }
}

Read more Similar C Programs
C Basic

K and R C Programs Exercise

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!

To browse more C Programs visit this link

K & R C Programs Exercise 1-20.

K and R C, Solution to Exercise 1-20:
C Program to replace the tabs by proper number of blanks. K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"
#define TABSIZE 6   /*Tab increment size*/
main()
{
 int c, no_blanks,pos;
 no_blanks = 0;   /*number of blamks required*/
 pos = 1;         /* position of the character*/
 while((c=getchar()) != EOF){
  if(c == '\t'){
   no_blanks = TABSIZE-(pos-1)%TABSIZE;
   while(no_blanks>0){

    putchar(' ');
    ++pos;
    --no_blanks;
   }
   else if(c == '\n'){
    putchar(c);
    pos = 1;
   } else {
    putchar(c);
    ++pos;
   }
  }
 }
}

Read more Similar C Programs
C Basic

K and R C Programs Exercise

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!





To browse more C Programs visit this link

C Program to generate Graph using grphics.h

C Program to Generate the graph sheet using the grphics.h library. To use graphics.h, we have to install the drivers in to the the system by using the initgraph() function. Here  we derive the graph of input sizes verses time taken for input sizes. x axis represents inputs(0,10000,20000,----), y axis rep time(0,0.05,0.1,0.15---). Read more about C Programming Language.
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"
#include "conio.h"
#include "graphics.h"
void main() {
 int gd = DETECT, gm;
 int y = 0, x = 10, m[20], k[20], n, a[20], i;
 float b[20];
 initgraph(&gd, &gm, "c:\\tc\\bgi");
 printf("\n\n\tGenerating the Graphs\n\n");
 printf("\nEnter the no. of inputs\t");
 scanf("%d", &n);
 printf("\nEnter the input sizes and corresponding time taken\n");
 for (i = 0; i < n; i++) {
  printf("\nEnter input size\t");
  scanf("%d", &a[i]);
  printf("\nEnter time taken\t");
  scanf("%f", &b[i]);
 }
 cleardevice();
 //represents y axis
 line(10, 0, 10, 400);
 //represents x axis
 line(10, 400, 600, 400);
 while (y <= 400) {
  line(0, y, 10, y);
  y = y + 20;
 }
 while (x <= 600) {
  line(x, 400, x, 410);
  x = x + 20;
 }
 outtextxy(20, 440, "1unit=20 pixels , origin is (10,400)");
 outtextxy(
   20,
   450,
   "x axis represents inputs(0,10000,20000,----), yaxis rep time(0,0.05,0.1,0.15---)");
 setcolor(5);
 for (i = 0; i < n; i++) {
  k[i] = (a[i] * 0.002);
  m[i] = (400 - (b[i] * 400));
  putpixel(k[i], m[i], 11);
 }
 for (i = 0; i < n - 1; i++)
  line(k[i], m[i], k[i + 1], m[i + 1]);
 getch();
}
Read more Similar C Programs
Learn C Programming

Number System

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

Nov 17, 2011

C Program to implement Linear regression algorithm.

Linear Regression  is the predicting the value of one scalar variable(y) using the explanatory another variable(x). Linear regression  is represented by the equation Y = a + bX, where X is the explanatory variable and Y is the scalar variable. The slope of the line is b, and a is the intercept. For linear list square modeling, Linear regression is very helpful. Read more about C Programming Language.

/************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/



#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "string.h"

float mean(float *a, int n);
void deviation(float *a, float mean, int n, float *d, float *S);

void main() {
 float a[20], b[20], dx[20], dy[20];
 float sy = 0, sx = 0, mean_x = 0, mean_y = 0, sum_xy = 0;
 float corr_coff = 0, reg_coff_xy = 0, reg_coff_yx = 0;
 char type_coff[7];
 int n = 0, i = 0;

 clrscr();

 printf("Enter the value of n: ");
 scanf("%d", &n);
 printf("Enter the values of x and y:\n");
 for (i = 0; i < n; i++)
  scanf("%f%f", &a[i], &b[i]);
 mean_x = mean(a, n);
 mean_y = mean(b, n);
 deviation(a, mean_x, n, dx, &sx);
 deviation(b, mean_y, n, dy, &sy);

 for (i = 0; i < n; i++)
  sum_xy = sum_xy + dx[i] * dy[i];
 corr_coff = sum_xy / (n * sx * sy);
 printf("Enter the type of regression coefficient as 'x on y' or 'y on x': ");
 fflush(stdin);
 gets(type_coff);

 if (strcmp(type_coff, "x on y") == 1) {
  reg_coff_xy = corr_coff * (sx / sy);
  printf("\nThe value of linear regression coefficient is %f",
    reg_coff_xy);
 } else if (strcmp(type_coff, "y on x") == 1) {
  reg_coff_yx = corr_coff * (sy / sx);
  printf("\nThe value of linear regression coefficient is %f",
    reg_coff_yx);
 } else
  printf("\nEnter the correct type of regression coefficient.");
 getch();
}

float mean(float *a, int n) {
 float sum = 0, i = 0;
 for (i = 0; i < n; i++)
  sum = sum + a[i];
 sum = sum / n;
 return (sum);
}

void deviation(float *a, float mean, int n, float *d, float *s) {
 float sum = 0, t = 0;
 int i = 0;
 for (i = 0; i < n; i++) {
  d[i] = a[i] - mean;
  t = d[i] * d[i];
  sum = sum + t;
 }
 sum = sum / n;
 *s = sqrt(sum);
}

Read more Similar C Programs
Learn C Programming

Simple C Programs
You can easily select the code by double clicking on the code area above. To get regular updates on new C programs, you can You can discuss these programs on our Facebook Page. Start a discussion right now,

our page! Share this program with your Facebook friends now! by liking it

(you can send this program to your friend using this button) Like to get updates right inside your feed reader? Grab our feed!


To browse more C Programs visit this link

Nov 16, 2011

C Program to implement Radix Sort.

Radix sort is an algorithm. Radix Sort sorts the elements by processing its individual digits. Radix sort processing the digits either by Least Significant Digit(LSD) method or by Most Significant Digit(MSD) method. Read more about C Programming Language.
/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"

#define MAX 100
#define SHOWPASS

void print(int *a, int n) {
 int i;
 for (i = 0; i < n; i++)
  printf("%d\t", a[i]);
}

void radix_sort(int *a, int n) {
 int i, b[MAX], m = 0, exp = 1;
 for (i = 0; i < n; i++) {
  if (a[i] > m)
   m = a[i];
 }

 while (m / exp > 0) {
  int box[10] = { 0 };
  for (i = 0; i < n; i++)
   box[a[i] / exp % 10]++;
  for (i = 1; i < 10; i++)
   box[i] += box[i - 1];
  for (i = n - 1; i >= 0; i--)
   b[--box[a[i] / exp % 10]] = a[i];
  for (i = 0; i < n; i++)
   a[i] = b[i];
  exp *= 10;

#ifdef SHOWPASS
  printf("\n\nPASS   : ");
  print(a, n);
#endif
 }
}

int main() {
 int arr[MAX];
 int i, num;

 printf("\nEnter total elements (num < %d) : ", MAX);
 scanf("%d", &num);

 printf("\nEnter %d Elements : ", num);
 for (i = 0; i < num; i++)
  scanf("%d", &arr[i]);

 printf("\nARRAY  : ");
 print(&arr[0], num);

 radix_sort(&arr[0], num);

 printf("\n\nSORTED  : ");
 print(&arr[0], num);

 return 0;
}

Read more Similar C Programs
Array In C

Sorting Techniques

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!



To browse more C Programs visit this link

Nov 15, 2011

K & R C Programs Exercise 1-19

K and R C, Solution to Exercise 1-19:
Write a function reverse(str) that reverses the character string str. Use it to write program that reverse thes its input a line at a time. K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .


/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"

#define MAXINLINE 1000 /* maximum input line size */

int get_lines(char line[], int maxline);
void reverse(char str[]);

/* print longest input line */
main() {

 char line[MAXINLINE]; /* current input line */

 while ((get_lines(line, MAXINLINE)) > 0) {

  reverse(line);
  printf("%s", line);

 }

}

/* getline: read a line into s, return length */
int get_lines(char str[], int line) {
 int c, i, j;

 for (i = 0, j = 0; (c = getchar()) != EOF && c != '\n'; ++i) {
  if (i < line - 1) {
   str[j++] = c;
  }
 }
 if (c == '\n') {
  if (i <= line - 1) {
   str[j++] = c;
  }
  ++i;
 }
 str[j] = '\0';
 return i;
}

/*reverse the string str*/
void reverse(char str[]) {
 int i, j;
 char temp;
 i = 0;
 while (str[i] != '\0')
  ++i;
 --i;
 if (str[i] != '\n')

  --i;
 j = 0;
 while (j < i) {
  temp = str[j];
  str[j] = str[i];
  str[i] = temp;
  --i;
  ++j;
 }
}

Read more Similar C Programs
C Basic

K and R C Programs Exercise

You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!

To browse more C Programs visit this link

K & R C Exercise 1-18

K and R C, Solution to Exercise 1-18:
Remove trailing blanks and tabs from each line of input, and to delete entirely blank lines. K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .



/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include "stdio.h"

#define MAXLINE 1000

int get_lines(char line[], int maxline);
int char remove(char str[]);

main()
{

 char line[MAXINLINE];/* current input line */

 while((get_lines(line,MAXINLINE))>0)
  if(remove(line)> 0)
   printf("%s", line);
 return 0;

}
/*
 remove trailing blanks and tabs from character string str
 */
int remove(char str[])
{
 int i=0;
 while(str[i] !='\n')
  ++i;

 --i;

 while(i>=0 && (str[i]==' ' || str[i]=='\t'))
  --i;
 if(i>=0)
 {
  ++i;
  s[i]='\n';
  ++i;
  s[i]='\0';

 }
 return i;
}
/* getline: read a line into str, return length */
int get_lines(char str[], int line)
{
 int c, i, j;

 for(i = 0, j = 0; (c = getchar())!=EOF && c != '\n'; ++i)
 {
  if(i < line - 1)
  {
   str[j++] = c;
  }
 }
 if(c == '\n')
 {
  if(i <= line - 1)
  {
   str[j++] = c;
  }
  ++i;
 }
 str[j] = '\0';
 return i;
}

Read more Similar C Programs
C Basic

K and R C Programs Exercise

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!


To browse more C Programs visit this link