Showing posts with label Multimedia. Show all posts
Showing posts with label Multimedia. Show all posts

Monday, 28 April 2014

ShiftCypher

#include<stdio.h>
#include<conio.h>
int main()
{
    int cypher,n,i,ascii[20],num;
    char str[20];
    printf("enter shift cypher number\n");
    scanf("%d",&cypher);
    printf("enter the size of input characters :\n");
    scanf("%d",&n);
   
    printf("enter %d characters\n",n);
    for(i=0;i<n;i++)
    {
    scanf("%s",&str[i]);
    num=str[i];
    ascii[i]=num+cypher;
    }
     printf("encoded characters\n");
     for(i=0;i<n;i++)
     {
           printf("%c\n",ascii[i]);
     }   
       
       printf("decoded characters\n");
     for(i=0;i<n;i++)
     {
                     ascii[i]=ascii[i]-cypher;
           printf("%c\n",ascii[i]);
     }    
     getch();
     }


Read More

Huffman coding

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define MAX 10
struct link
{
            int freq;
            char ch[MAX];
            struct link* right;
            struct link* left;
};
typedef struct link node;
int sort(node *[], int);
node* create(char[], int);
int sright(node *[], int);
int Assign_Code(node*, int [], int);
int Delete_Tree(node *);
main()
{
    node* ptr, * head;
    int i, n, total = 0, u, c[15];
    char str[MAX];
    node* a[12];
    int freq;

    printf(  "Huffman Algorithm\n");
    printf("\nEnter the no. of letter to be coded:");
    /*input the no. of letters*/
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        printf("Enter the letter & frequency:");
        /*input the letter & frequency*/
        scanf("%s %d", str, &freq);
        a[i] = create(str, freq);
    }
    while (n > 1)
    {
        sort(a, n);
        u = a[0]->freq + a[1]->freq;
        strcpy(str,a[0]->ch);
        strcat(str,a[1]->ch);
        ptr = create(str, u);
        ptr->right = a[0];
        ptr->left = a[1];
        a[0] = ptr;
        sright(a, n);
        n--;
    }
    Assign_Code(a[0], c, 0);
    getch();
    Delete_Tree(a[0]);
}

node* create(char a[], int x)
{
    node* ptr;
    ptr = (node *) malloc(sizeof(node));
    ptr->freq = x;
    strcpy( ptr->ch , a);
    ptr->right = ptr->left = NULL;
    return(ptr);
}
int sort(node* a[], int n)
{
    int i, j;
    node* temp;
    for (i = 0; i < n - 1; i++)
        for (j = i; j < n; j++)
            if (a[i]->freq > a[j]->freq)
            {
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
}
int sright(node* a[], int n)
{
    int i;
    for (i = 1; i < n - 1; i++)
        a[i] = a[i + 1];
}
int Assign_Code(node* tree, int c[], int n)
{
    int i;
    if ((tree->left == NULL) && (tree->right == NULL))
    {
        printf("%s code:", tree->ch);
        for (i = 0; i < n; i++)
        {
            printf("%d", c[i]);
        }
        printf("\n");
    }
    else
    {
        c[n] = 1;
        n++;
        Assign_Code(tree->left, c, n);
              c[n - 1] = 0;
        Assign_Code(tree->right, c, n);
    }
}
int Delete_Tree(node * root)
{
    if(root!=NULL)
    {
        Delete_Tree(root->left);
        Delete_Tree(root->right);
        free(root);
    }

}
Read More

Differential coding

#include<stdio.h>
#include<conio.h>
int main()
{
    int n,num,i,regester=0,ascii[20],encoding[20],bitrequired,reducedbit=0;
    char str[20];
    printf("enter the size of characters\n");
    scanf("%d",&n);
    bitrequired=7*n;
    printf("enter %d characters\n",n);
    for(i=0;i<n;i++)
    scanf("%s",&str[i]);
    for(i=0;i<n;i++)
    {
                    num=str[i];
                    ascii[i]=num;
    }
    for(i=0;i<n;i++)
    {
                    encoding[i]=ascii[i]-regester;
                    regester=ascii[i];
    }
    printf("encoded numbers are\n\n");
    for(i=0;i<n;i++)
    {
            printf("%d\t",encoding[i]); 
            num=encoding[i];
            if(num<=127 && num>63)
            reducedbit=reducedbit+7;
            else if(num<=63 && num>31)
            reducedbit=reducedbit+6;
             else if(num<=31 && num>15)
            reducedbit=reducedbit+5;
             else if(num<=15 && num>7)
            reducedbit=reducedbit+4;
             else if(num<=7 && num>3)
            reducedbit=reducedbit+3;
             else if(num<=3 && num>1)
            reducedbit=reducedbit+2;
            else
            reducedbit++;       
              
    }
    printf("required bit=%d\n",bitrequired);
    printf("reduced bit = %d",reducedbit);
    getch();

}
Read More

Differential decoding



 #include<stdio.h>  
 #include<conio.h>  
 int main()  
 {  
   int n,i,ascii[20],num,character[20],regester=0,reducedbit=0,requiredbit=0;  
   printf("enter the length\n");  
   scanf("%d",&n);  
   printf("enter %d numbers (first number should >65)\n",n);  
   for(i=0;i<n;i++)  
   {  
   scanf("%d",&ascii[i]);  
   num=ascii[i];  
       if(num<=127 && num>63)  
       reducedbit=reducedbit+7;  
       else if(num<=63 && num>31)  
       reducedbit=reducedbit+6;  
        else if(num<=31 && num>15)  
       reducedbit=reducedbit+5;  
        else if(num<=15 && num>7)  
       reducedbit=reducedbit+4;  
        else if(num<=7 && num>3)  
       reducedbit=reducedbit+3;  
        else if(num<=3 && num>1)  
       reducedbit=reducedbit+2;  
       else  
       reducedbit++;  
   }  
   printf("\n before decryption required bit is : %d\n\n",reducedbit);  
   printf("\n the decrypted text is :\n\n");  
   for(i=0;i<n;i++)  
   {  
   character[i]=ascii[i]+regester;  
   regester=character[i];  
   printf("%c",character[i]);  
   }  
   requiredbit=7*n;  
   printf("\n\n after decryption the required bit is : %d",requiredbit);  
   getch();  
 }  
Read More

ARITHMATIC ENCODING

 #include<stdio.h>
#include<conio.h>
int main()
{
int i,j,n,x,index,sl[20],temp3;
float array[20],code,temp,arrayreference[20],sum=0,code1;
char words[20],temp1,wordsreference[20];
printf("enter size of words\n");
scanf("%d",&n);
x=0;
printf("enter of words\n");
for(i=0;i<n;i++)
{
scanf("%s",&words[i]);
wordsreference[i]=words[i];
}
printf("enter the word codes\n");
for(i=0;i<n;i++)
{
scanf("%f",&array[i]);
sl[i]=i;
sum=sum+array[i];
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(array[i]<array[j])
{
temp=array[i];
array[i]= array[j];
array[j]=temp;
temp1= words[i];
words[i]=words[j];
words[j]=temp1;
temp3=sl[i];
sl[i]=sl[j];
sl[j]=temp3;
}
}
}
for(i=0;i<n;i++)
{
printf("%c\t %f\n",words[i],array[i]);
}
arrayreference[0]=0;
for(j=0;j<n;j++)
{
arrayreference[j+1]=arrayreference[j]+array[j];
}
for(j=0;j<=n;j++)
{
array[j]=arrayreference[j];
}
while(x!=n)
{
for(i=0;i<n;i++)
{
if(x==sl[i])
{
index= i;
}
}
arrayreference[0]=arrayreference[index];
arrayreference[n]=arrayreference[index+1];
code=arrayreference[n]-arrayreference[0];
code=code/(10*sum);
for(i=1;i<n;i++)
{
code1=code*array[i]*10;
arrayreference[i]=arrayreference[0]+code1;
}
x++;
for(j=0;j<=n;j++)
{
printf("%f\t",arrayreference[j]);
}
printf("\n\n");
}
printf("\n\n\n given text is compressed to single codeword \n in the range : %f < codeword < %f",arrayreference[0],arrayreference[n]);
getch();

}
Read More

Featured post

List of Universities in Karnataka offering M.Sc Computer Science

The post-graduate programme in Computer Science (M.Sc Computer Science) contains two academic years duration and having a four semesters....

Popular Posts

Copyright @ 2011-2022