Friday, 11 May 2012

Reversing a Sentence in C


#include<stdio.h>
#include<conio.h>
#include<string.h>
const int opt = 50;
int main(){
int i=0,j=0,c=0,vali[opt] = {0};
char str1[opt],str2[opt]="",str3[opt]="",ch;
printf("Enter the sentence:");
gets(str1);
for(i=0;str1[i] != '\0';i++){
if(str1[i] == ' '){
vali[j+1] = i;
j++;
}
}
c = j;
for(i=0;i<=j && c!=0;i++){
strcat(str2,&str1[vali[c]+1]);
strcpy(&str1[vali[c]],str3);
strcat(str2," ");
c--;
}
strcat(str2,str1);
printf("\nYour Reversed Sentence Is:");
puts(str2);
getch();
return 0;
}

Calculate Bill After Discount in C


#include <iostream.h>
#include <conio.h>
void main ()
{
int bill, disc, total, qty, cost;
cout <<" Enter Quantity: ";
cin >>qty;
cout <<" Enter Cost: ";
cin >>cost;
bill=qty*cost;
if (bill>200)
{
disc=bill*2/100;
}
else
{
disc=bill*3/100;
}
total=bill-disc;
cout <<"Total Bill After Discount: "<<total;
getch ();
}

Calculate Electricity Bill in C




#include<stdio.h>
#include<conio.h>
void main()
{
float r,a=2.5,b=3.5,c=1.5;
clrscr();
printf(“Enter the readings\n”);
scanf(“%f”,&r);
if(r>=200)
printf(“rupees=%f”,r*b);
else if((r>=100)&&(r<200))
printf(“rupees=%f”,r*a);
else
printf(“rupees=%f”,r*c);
getch();
}

Decimal to Hexadecimal Conversion in C




#include<stdio.h>
#include<conio.h>
#include<process.h>
void main()
{
int x, y=30, z;
clrscr();
printf(“Enter the number:”);
scanf(“%d”, &x);
printf(“\n Conversion of Decimal to Hexadecimal Number\n”);
for(;;)
{
if(x= =0)
exit(1);
z=x%16;
x=x/16;
gotoxy(y--,5);
switch(z)
{
Case 10:
printf(“A”);
break;
Case 11:
printf(“%c”, „B?);
break;
Case 12:
printf(%c”, „C”);
break;
Case 13:
printf(“D”);
break;
Case 14:
printf(“E”);
break;
Case 15:
printf(“F”);
Default:
printf(“%d”, z);
}
}
getch();
}

Generic Radix Sort Algorithm in C


Radix Sorting
-----
quicksortB(int a[], int l, int r, int w)
  { int i = l, j = r;
    if (r <= l || w > bitsword) return;
    while (j != i)
      { 
        while (digit(a[i], w) == 0 && (i < j)) i++;
        while (digit(a[j], w) == 1 && (j > i)) j--;
        exch(a[i], a[j]);
      }
    if (digit(a[r], w) == 0) j++;
    quicksortB(a, l, j-1, w+1);
    quicksortB(a, j, r, w+1);
  }
void sort(Item a[], int l, int r)
  { 
    quicksortB(a, l, r, 0);
  }
-----
#define bin(A) l+count[A]
void radixMSD(Item a[], int l, int r, int w)
  { int i, j, count[R+1]; 
    if (w > bytesword) return;
    if (r-l <= M) { insertion(a, l, r); return; }
    for (j = 0; j < R; j++) count[j] = 0;
    for (i = l; i <= r; i++) 
      count[digit(a[i], w) + 1]++;
    for (j = 1; j < R; j++) 
      count[j] += count[j-1];
    for (i = l; i <= r; i++) 
      aux[l+count[digit(a[i], w)]++] = a[i];
    for (i = l; i <= r; i++) a[i] = aux[i];
    radixMSD(a, l, bin(0)-1, w+1);
    for (j = 0; j < R-1; j++)
      radixMSD(a, bin(j), bin(j+1)-1, w+1);
  }
-----
#define ch(A) digit(A, D)
void quicksortX(Item a[], int l, int r, int D)
  { 
    int i, j, k, p, q; int v;
    if (r-l <= M) { insertion(a, l, r); return; }
    v = ch(a[r]); i = l-1; j = r; p = l-1; q = r;
    while (i < j)
      { 
        while (ch(a[++i]) < v) ;
        while (v < ch(a[--j])) if (j == l) break;
        if (i > j) break;
        exch(a[i], a[j]);
        if (ch(a[i])==v) { p++; exch(a[p], a[i]); }
        if (v==ch(a[j])) { q--; exch(a[j], a[q]); }
      }
    if (p == q) 
      { if (v != '\0') quicksortX(a, l, r, D+1); 
        return; }
    if (ch(a[i]) < v) i++;
    for (k = l; k <= p; k++, j--) exch(a[k], a[j]);
    for (k = r; k >= q; k--, i++) exch(a[k], a[i]);
    quicksortX(a, l, j, D);
    if ((i == r) && (ch(a[i]) == v)) i++;
    if (v != '\0') quicksortX(a, j+1, i-1, D+1); 
    quicksortX(a, i, r, D); 
  }
-----
void radixLSD(Item a[], int l, int r)
  {
    int i, j, w, count[R+1]; 
    for (w = bytesword-1; w >= 0; w--)
      {
        for (j = 0; j < R; j++) count[j] = 0;
        for (i = l; i <= r; i++) 
          count[digit(a[i], w) + 1]++;
        for (j = 1; j < R; j++) 
          count[j] += count[j-1];
        for (i = l; i <= r; i++) 
          aux[count[digit(a[i], w)]++] = a[i];
        for (i = l; i <= r; i++) a[i] = aux[i];
      }
  }