apple.nitw
BAN USER#include<iostream>
#include<conio.h>
#include<cstring>
#include<cmath>
using namespace std;
int cal1(char a[]);
int cal2(char a[]);
int cal3(char a[]);
int cal(char a);
int miss2();
int miss3();
int main()
{
char *c;
int size,ch;
do
{
cout<<"Input size ";
cin>>size;
c = new char[size];
cout<<"INPUT: ";
cin>>c;
for(int i=0; i<size-1; i++)
{
if(c[i]>c[i+1])
{
cout<<"INVALID INPUT\n";
break;
}
}
int val=0;
if(size==1)
val = cal1(c);
else if(size==2)
val = cal2(c);
else if(size==3)
val = cal3(c);
cout<<val;
cout<<"press 1 to add more";
cin>>ch;
}
while(ch==1);
getch();
return 0;
}
int cal1(char a[])
{
return int(a[0])-96;
}
int cal2(char a[])
{
int x=0;
for(int i=0; i<strlen(a); i++)
x+= pow(26,strlen(a)-1-i) * cal(a[i]);
int p = int(a[0])-96;
return x - (p*(p+1))/2;
}
int cal3(char a[])
{
int x=0;
for(int i=0; i<strlen(a); i++)
x+= pow(26,strlen(a)-1-i)*cal(a[i]);
int p = cal(a[0])-1;
int q=0;
for(int j=0; j<p; j++)
{
for(int k=2+j; k<=26; k++)
q+= k;
}
p = 26*((p*(p+1))/2);
p+= q;
p+= cal(a[1]);
q = cal(a[0]);
q*= 26;
for(int i=0; i<cal(a[1])-cal(a[0])-1; i++)
q+= cal(a[0])+i+1;
x-= miss2() + p + q;
return x;
}
int cal(char a)
{
return int(a)-96;
}
int miss2()
{
return (26*27)/2;
}
#include<iostream>
#include<conio.h>
#include<cstdlib>
using namespace std;
struct node
{
int info,d;
node *left,*right,*par;
};
struct node *ptr1,*root;
void insert();
void inorder(node *ptr);
void find(node *ptr);
void call(node *ptr);
int height(node *ptr);
int a=0;
int main()
{
int ch,i,m;
root='\0';
do
{
insert();
cout<<"press 1 to add more"; cin>>ch;
}
while(ch==1);
ptr1=root; inorder(ptr1);
cout<<a;
getch();
return 0;
}
void insert()
{
struct node *p,*q,*t;
t=(node*)new(node);
cout<<"enter info: ";
cin>>t->info;
t->left='\0'; t->right='\0';
if(root=='\0')
{root=t; p=t; q=t; root->d=0; root->par='\0';}
else
{
p=q=root;
while(q!='\0')
{
p=q;
if(q->info==t->info)
cout<<"duplicate value";
else
{ if(t->info>q->info)
q=q->right;
else q=q->left;
}
}
if(t->info>p->info)
p->right=t;
else p->left=t;
t->par=p;
}
}
void inorder(node *ptr)
{
int b;
if(ptr!='\0')
{
inorder(ptr->left);
b=height(ptr->left)+height(ptr->right)+3;
a=max(a,b);
inorder(ptr->right);
}
}
int height(node *ptr)
{
if(ptr=='\0')
return -1;
else
return max(height(ptr->left),height(ptr->right))+1;
}
#include<iostream>
#include<conio.h>
#include<string>
using namespace std;
void find(string str,int p);
int main()
{
int p;
string str,str3;
cin>>str;
p=str.length();
find(str,p);
getch();
return 0;
}
void find(string str,int p)
{
string str1,str2;
int i,j,k,flag,t;
if(p>3)
{
for(i=0; i<p-1; i++)
{
str1=str.substr(i,3);
j=i+1;
for(k=j; k<p-2; k++)
{
str2=str.substr(k,3);
if(str1==str2)
{
cout<<str1;
flag=1;
break;
}
}
if(flag==1) break;
}
if(flag==0) cout<<"no repeatition";
}
else cout<<"string length is too less to find";
}
- apple.nitw July 15, 2013