Showing posts with label Array. Show all posts
Showing posts with label Array. Show all posts

Wednesday, August 13, 2014

write a program to perform circular queue using array

//circular queue using array
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<malloc.h>

#define S 5

int Q[S];
int front=-1,rear=-1;
void insert(int n){
if((front==0 && rear==S-1)||(front==rear+1)){
printf("\n overflow \n");
return ;
}
if(rear==-1)
rear=front=0;
else
if(rear==S-1)
rear=0;
else
rear++;
  Q[rear]=n;
}
int del(){
int val;
if(front==-1){
printf("\n underflow \n");
return -9999;
}
val=Q[front];
if(front==rear){
front=rear=-1;
}
else
if(front==S-1)
front=0;
else
front++;
    return val;
}
int main(){
int n,ch;
while(1){
printf("1.insert\n2.delete\n3.exit");
printf("\n enter y choice ");
scanf("%d",&ch);
switch(ch){
case 1:
printf("\n enter the data ");
scanf("%d",&n);
insert(n);
break;
case 2:
n=del();
if(n!=-9999){
printf("\n popped item is %d\n",n);
}
break;
case 3:
exit(0);
break;
default:
printf("\n check y option ");
}
}
getch();
return 0;
}

Sunday, February 23, 2014

Word Guessing Game using Java

import java.io.*;
import java.util.*;
class file4{
static int kc = 0;
public static void main(String []arg) throws IOException{
FileReader fr = new FileReader("D:\\java\\f1.txt"); 

    //the file should contain words separated by spaces !
BufferedReader br2 = new BufferedReader(fr);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Random r = new Random();

String st = br2.readLine();    

//Works for single line.Use while loop till null if file contains multiple lines.
//System.out.println(st);


String t[] = st.split(" ");
String t1= t[r.nextInt(t.length)];
char ch[] = new char[t1.length()];
char ch3[] = new char[t1.length()];
for(int j=0;j<t1.length();j++){
ch3[j]=t1.charAt(j);
}
String t2;

int i,k;

for(i=0;i<t1.length();i++){
ch[i]='-';
}

// System.out.println("\nenter ur guess");
char ch2;
String x2;
printchar(ch,t1.length());
while(true){
int j;
System.out.println("\nenter ur guess\n");
x2=br.readLine();
System.out.println();

if(scheck(x2,t1)==1)
for(j=0;j<x2.length();j++){

ch2=x2.charAt(j);
//ch2=(char)br.read();
for(k=0;k<t1.length();k++){

if(ch3[k]==ch2){
ch[k]=ch2;
}


}

}
printchar(ch,t1.length());
check2(ch,t1.length());


}
}


static void check2(char c[],int k){

int i,k1=0;
for(i=0;i<k;i++){
if(c[i]=='-'){
k1++;
}
}
kc++;
if(k1==0){
System.out.println(" is correct \nCongrats ! Guess has been completed in attempt no "+kc+"!");
System.exit(0);
}
else System.out.println("\tattempts so far :: "+kc);
//return;
//System.exit(0);
}
static void printchar(char c[],int k){
for(int i=0;i<k;i++)
System.out.print(c[i]);

}
static int scheck(String a,String b){
int a1 = a.length();
int b1 = b.length();
int i=0,j=0;

if(a1<b1){
String temp = a;
a = b ;
b = temp ;
int t = a1;
a1 = b1 ;
b1 = t ;
}

while(j!=b1){
while(i!=a1){
if(a.charAt(i)==b.charAt(j)){
i++;
j++;

if(j==b1){
return 1;
}
}
else {
i++;
j=0;
if(i==a1)
return 0;
}
}
j++;
}


return 0;
}
}





Output




Wednesday, February 5, 2014

Conversion of positive integer to Binary number in Java using arrays


class q1{ 
 public static void main(String []s){ 
           q2 q = new q2();
           q.convert(9);      //any input
           q.display(); 
          } 

class q2{ 
        int bin[] = new int[8]; //output has been considered as 8 bit
        int i=7; 
        void convert(int k){
             int t=k;
              while(t>0){
                  int r=t%2;
                  t/=2;
                  bin[i--]=r;
              }
         } 
       void display(){
              int j=0;
              while(j!=8){
                System.out.print(bin[j++]); 
               }
              System.out.println();
         }
 }
/*
OUTPUT 
00001001
*/

Tuesday, October 1, 2013

Program to convert express infix to postfix in stack using array

//infix to postfix





#include<stdio.h>

#include<string.h>

#define SIZE 10

int pr(char op)
{
if(op=='*' || op=='/')
return 3;
if(op=='+' || op=='-')
return 2;
else
return 0;
}

char stack[SIZE];
int top=-1;

void push(char op)
{
stack[++top]=op;
}

char pop()
{
return stack[top--];
}

void rev_polish(char infix[],char postfix[])
{
int i,l,j=0;
char op;
l=strlen(infix);
infix[l]=')';
infix[l+1]='\0';
push('(');
for(i=0;infix[i]!='\0';i++)
{
if(isalpha(infix[i]))
{
postfix[j++]=infix[i];
continue;
}
if(infix[i]=='(')
{
push(infix[i]);
continue;
}
if(infix[i]==')')
{
while((op=pop())!='(')
postfix[j++]=op;
}
else
{
while(pr(infix[i])<=pr(stack[top]))
postfix[j++]=pop();
push(infix[i]);
}

}
postfix[j]='\0';
}

int main()
{
char infix[20],postfix[20];
printf("\nEnter the infix : ");
gets(infix);
rev_polish(infix,postfix);
printf("\nPostfix : %s",postfix);
return 0;
}

Friday, September 6, 2013

C program for Addition of Sparse Matrix

/*  Add Sparse Matrix...- Contributed by Tushar Anand  */


#include<stdio.h>
#include<stdlib.h>
struct sparse
{
        int *arr;
        int cnt;
};
int c=0;
void create(struct sparse *s)
{
        int arr[3][3];
        int l,i,j;
        s->cnt=0;
        printf("Enter elements\n");
        for(i=0;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        scanf("%d",&arr[i][j]);
                        if(arr[i][j]!=0)
                        s->cnt++;
                }//for j
        }//for i
        if(s->cnt>9/2)
        {
                printf("\nNot Sparse matrix\n");
        }
        else
        {
                c=1;
                s->arr=(int *)malloc(sizeof(int)*(s->cnt+1)*3);
                *(s->arr+0)=3;
                *(s->arr+1)=3;
                *(s->arr+2)=s->cnt;
                l=3;
                for(i=0;i<3;i++)
                {
                        for(j=0;j<3;j++)
                        {
                                if(arr[i][j]!=0)
                                {
                                        *(s->arr+l+0)=i;
                                        *(s->arr+l+1)=j;
                                        *(s->arr+l+2)=arr[i][j];
                                        l=l+3;
                                }//if
                        }//for j
                }//for i
        }
}
display(struct sparse *s)
{
        int i;
        for(i=0;i<(s->cnt)*3+3;i++)
        {
                if(i%3==0&&i!=0)
                printf("\n");
                printf("%d\t",*(s->arr+i));
        }//for i
}
void add(struct sparse *s1,struct sparse *s2,struct sparse *s3)
{
        int i,j,k=3,l=3,m=3,flag=0;    
        s3->arr=(int *)malloc(sizeof(int)*(s1->cnt+s2->cnt+1)*3);
        *(s3->arr+0)=3;
        *(s3->arr+1)=3;
        for(i=0;i<3;i++)
        {
                if(*(s1->arr+m+0)==i &&*(s2->arr+l+0)==i)
                {
                        for(j=0;j<3;j++)
                        {
                                if(*(s1->arr+m+1)==j&&*(s2->arr+l+1)==j && *(s1->arr+m+0)==i &&*(s2->arr+l+0)==i)
                                {
                                        *(s3->arr+k+0)=i;
                                        *(s3->arr+k+1)=j;
                                        *(s3->arr+k+2)=*(s1->arr+m+2)+*(s2->arr+l+2);
                                        k+=3;
                                        flag++;
                                        m+=3;
                                        l+=3;
                                }
                                else if(*(s1->arr+m+1)==j && *(s1->arr+m+0)==i)
                                {
                                        *(s3->arr+k+0)=i;
                                        *(s3->arr+k+1)=j;
                                        *(s3->arr+k+2)=*(s1->arr+m+2);
                                        flag++;
                                        k+=3;
                                        m+=3;
                                }
                                else if(*(s2->arr+l+1)==j && *(s2->arr+l+0)==i)
                                {
                                        *(s3->arr+k+0)=i;
                                        *(s3->arr+k+1)=j;
                                        *(s3->arr+k+2)=*(s2->arr+l+2);
                                        flag++;
                                        k+=3;
                                        l+=3;
                                }
                        }
                }
                else if(*(s1->arr+m+0)==i)
                {
                        for(j=0;j<3;j++)
                        {
                                *(s3->arr+k+0)=i;
                                *(s3->arr+k+1)=j;
                                *(s3->arr+k+2)=*(s1->arr+m+2);
                                flag++;
                                k+=3;
                                m+=3;
                        }
                }
                else if(*(s2->arr+l+0)==i)
                {
                        for(j=0;j<3;j++)
                        {
                                *(s3->arr+k+0)=i;
                                *(s3->arr+k+1)=j;
                                *(s3->arr+k+2)=*(s2->arr+l+2);
                                flag++;
                                k+=3;
                                l+=3;
                        }
                }
        }
        *(s3->arr+2)=flag;
        s3->cnt=flag;
}
void main()
{
        struct sparse head,head1,head2;
        create(&head);
        create(&head1);
        if(c==1)
        {
        display(&head);
        display(&head1);
        add(&head,&head1,&head2);
        printf("\n\nAdded matrix :: \n\n");
        display(&head2);
        }
}