0% found this document useful (0 votes)
6 views23 pages

Important

The document contains multiple C++ programs demonstrating various concepts such as prime number checking, palindrome detection in arrays, perfect numbers, string palindrome checking, and matrix addition using friend functions. Each program is structured with classes and includes methods for input, processing, and output. Memory management is also addressed with constructors and destructors for dynamic memory allocation.

Uploaded by

Akshay Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views23 pages

Important

The document contains multiple C++ programs demonstrating various concepts such as prime number checking, palindrome detection in arrays, perfect numbers, string palindrome checking, and matrix addition using friend functions. Each program is structured with classes and includes methods for input, processing, and output. Memory management is also addressed with constructors and destructors for dynamic memory allocation.

Uploaded by

Akshay Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

##Prime_number

#include <iostream>
using namespace std;
class number { int
num; public:
void set_data(); void get_data();
friend int prime_number(number);

};

void number::set_data()
{ cout<<"Enter the
number"<<endl; cin>>num;
}

void number::get_data()
{ cout<<"num:-
"<<num<<endl;
}

int prime_number(number obj)


{
int i;
for(i=2;i<obj.num;i++)
{
if(obj.num%i==0)
break;
}
if(obj.num==i)
return 1; else
return 0;
}

int main() {
number obj1;
int n;
obj1.set_data();
obj1.get_data();

n=prime_number(obj1);
if(n)
cout<<"Prime"<<endl;
else
cout<<"Not_prime"<<endl;
}
----------------------------------------------------------------------------------------------------
-----------------------------
## find palindrome number in array

#include <iostream>
using namespace std;
class number { int *p;
public: number();
//contructor
~number(); void
set_data(); void
get_data();

friend void pal_number(number &);

};

number::number()
{ p=new
int[5];
}

number::~number()
{ cout<<endl<<"Memory
Deleted"<<endl;
delete []p;
}

void number::set_data()
{ cout<<"Enter the
elements"<<endl; for(int
i=0;i<5;i++) cin>>p[i];
}

void number::get_data()
{ for(int
i=0;i<5;i++)
cout<<p[i]<<" ";
}

void pal_number(number &obj)


{ int
rev,i,num;

for(i=0;i<5;i++)
{
for(num=obj.p[i],rev=0;num;num=num/10)
rev=rev*10+num%10; if(rev==obj.p[i])
cout<<obj.p[i]<<" ";
}
}

int main() {
number obj1;

obj1.set_data();

pal_number(obj1);
}
Enter the elements
101 112 134 521 414
101 414
Memory Deleted
----------------------------------------------------------------------------------------------------
----------------------------
##palindrome number and perfect number
#include <iostream> using
namespace std; class
number
{ int
*p;
public:
number(); //contructor
~number(); void
set_data(); void
get_data(); void
perfact_number();
friend void
pal_number(number &);

};

number::number()
{ p=new
int[5];
}

number::~number()
{ cout<<endl<<"Memory
Deleted"<<endl;
delete []p;
}

void number::set_data()
{ cout<<"Enter the
elements"<<endl; for(int
i=0;i<5;i++) cin>>p[i];
}

void number::get_data()
{ for(int
i=0;i<5;i++)
cout<<p[i]<<" ";
}

void pal_number(number &obj)


{ cout<<"palindrome
numbers"<<endl; int rev,i,num;

for(i=0;i<5;i++)
{
for(num=obj.p[i],rev=0;num;num=num/10)
rev=rev*10+num%10; if(rev==obj.p[i])
cout<<obj.p[i]<<" ";
}
cout<<endl;
}

void number::perfact_number()
{ cout<<"perfact
numbers"<<endl; int i,j,sum;
for(i=0;i<5;i++)
{
for(j=1,sum=0;j<p[i];j++)
{
if(p[i]%j==0)
sum+=j;
}
if(sum==p[i])
cout<<p[i]<<" ";
}
cout<<endl;
}

int main() {
number obj1;

obj1.set_data();

pal_number(obj1);

obj1.perfact_number();
}

Enter the elements


101 6 123 128 131
palindrome numbers
101 6 131 perfact
numbers
6

Memory Deleted
----------------------------------------------------------------------------------------------------
-----------------------------
##Str palindrome

#include <iostream>
using namespace std;
class str { char *p;

public: str();
~str(); void
set_data(); void
get_data(); void
rev();

friend int str_pal(str &);


};
str::str() {
p=new char[10]; }
str ::~str() {
delete []p;

} void str::set_data() {
cout<<"Enter the string"<<endl;
cin>>p; } void str::get_data() {
cout<<p<<endl; } void str::rev()
{
int i,j;
char ch;

for(j=0;p[j];j++);

for(i=0,j=j-1;i<j;i++,j--)
{
ch=p[i];
p[i]=p[j];
p[j]=ch;
}

cout<<"After Rev:- "<<p<<endl;


}

int str_pal(str &obj)


{
int i,j;

for(j=0;obj.p[j];j++);

for(i=0,j=j-1;obj.p[i];i++,j--)
{
if(obj.p[i]!=obj.p[j])
break;
}
if(obj.p[i]==obj.p[j])
return 1; else
return 0; } int main() {
str obj1; int n;
obj1.set_data();
obj1.get_data();
obj1.rev();

n=str_pal(obj1);

if(n)
cout<<
"Palind
rome"<
<endl;
else
cout<<"Not Palindrome"<<endl;
}
Enter the string
madam madam
After Rev:- madam
Palindrome
----------------------------------------------------------------------------------------------------
----------------------------
##Addition of two matrix (Using Friend Function)

#include <iostream> using namespace


std; class B; class C; class A { int
**a; public: A(); void
set_data(); friend void addition(A
&,B &,C &);
}; class
B
{
int **b; public: B(); void
set_data(); friend void addition(A
&,B &,C &);
}; class C
{ int
**c;
public:
C();
friend void addition(A &,B &,C &);
};
A::A() { a=new
int*[3]; for(int
i=0;i<3;i++)
a[i]=new int[3];
} void A::set_data() { cout<<"Enter
The elements:-"<<endl; for(int
i=0;i<3;i++) for(int j=0;j<3;j++)
cin>>a[i][j];
}

B::B() { b=new int


*[3]; for(int
i=0;i<3;i++)
b[i]=new int[3];

void B::set_data() { cout<<"Enter


The elements:-"<<endl; for(int
i=0;i<3;i++) for(int j=0;j<3;j++)
cin>>b[i][j];
}

C::C() { c=new
int*[3]; for(int
i=0;i<3;i++)
c[i]=new int[3];
}

void addition(A &obj1,B &obj2,C &obj3)


{
int i,j;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
obj3.c[i][j]=obj1.a[i][j] + obj2.b[i][j];
}

cout<<"Addition is:-"<<endl;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
cout<<obj3.c[i][j]<<" ";
cout<<endl;
}

} int
main() {
A obj1;
B obj2;
C obj3;

obj1.set_data();
obj2.set_data();

addition(obj1,obj2,obj3);
}
Enter The elements:-
123
456
789
Enter The elements:-
548
965
423
Addition is:-
6 6 11
13 11 11
11 10 12
----------------------------------------------------------------------------------------------------
----------------------------
##Addition of two matrix (Using perticular class Friend Function)

#include <iostream> using


namespace std; class A;
class B; class C { int
**c; public: C();
void addition(A &,B &);

};
class A { int **a; public: A();
void set_data(); friend void
C::addition(A &,B &);
}; class B { int **b; public:
B(); void set_data(); friend void
C::addition(A &,B &);

};

A::A() { a=new
int*[3]; for(int
i=0;i<3;i++)
a[i]=new int[3]; }
void A::set_data()
{
cout<<"Enter The elements:-"<<endl;
for(int i=0;i<3;i++) for(int
j=0;j<3;j++) cin>>a[i][j];
}

B::B() { b=new int


*[3]; for(int
i=0;i<3;i++)
b[i]=new int[3];

}
void B::set_data() { cout<<"Enter
The elements:-"<<endl; for(int
i=0;i<3;i++) for(int j=0;j<3;j++)
cin>>b[i][j];
}

C::C() { c=new
int*[3]; for(int
i=0;i<3;i++)
c[i]=new int[3]; }

void C::addition(A &obj1,B &obj2)


{
int i,j;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
c[i][j]=obj1.a[i][j] + obj2.b[i][j];
}

cout<<"Addition is:-"<<endl;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}
} int
main() {
A obj1;
B obj2;
C obj3;

obj1.set_data();
obj2.set_data();
obj3.addition(obj1,obj2); }
Enter The elements:-
123
456
789
Enter The elements:-
10 20 30
40 50 60
70 80 90
Addition is:-
11 22 33
44 55 66
77 88 99
//Print Matrix
/*#include<iostream>
using namespace std;
int main()
{
int **p,i,j;
//memory allocation
p=new int*[3];
for(i=0;i<3;i++)
p[i]=new int[4];
//scan the data
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
cin>>p[i][j];
}
//print the data
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
cout<<p[i][j];
cout<<endl;
}
//de-allocation
for(i=0;i<3;i++)
delete []p[i];
delete []p;
}*/
//------------------------------------------------------//
//Sum of 2 Matrices
/*#include<iostream>
using namespace std;
int main()
{
int **p,**q,**s,i,j;

//allocate the memory


p=new int*[2];
for(i=0;i<2;i++)
p[i]=new int[2];
q=new int*[2];
for(i=0;i<2;i++)
q[i]=new int[2];
s=new int*[2];
for(i=0;i<2;i++)
s[i]=new int[2];

//scan the data


//1st Matrix
cout<<"Enter 1st Matrix:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
cin>>p[i][j];
}
//2nd Matrix
cout<<"Enter 2nd Matrix:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
cin>>q[i][j];
}

//sum
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
s[i][j]=p[i][j]+q[i][j];
}

//print the data


cout<<"Addition:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
cout<<s[i][j]<<" ";
cout<<endl;
}

//de-allocate the memory


for(i=0;i<2;i++)
delete []p[i];
delete p;
for(i=0;i<2;i++)
delete []q[i];
delete []q;
for(i=0;i<2;i++)
delete []s[i];
delete []s;
}*/
//-----------------------------------------------//
//Shallow Copy
/*#include<iostream>
#include<cstring>
using namespace std;
class shallow
{
char *p;
public:
shallow(const char *s)
{
p=new char[strlen(s)+1];
strcpy(p,s);
}
void display()
{
cout<<"String:"<<p<<endl;
}
void modify()
{
p[0]='s';
}
};
int main()
{
shallow s1("vector"),s2(s1);
s1.display();
s2.display();
cout<<"------------------"<<endl;
s1.modify();
s1.display();
s2.display();
}*/
//---------------------------------------//
//Deep Copy
#include<iostream>
#include<cstring>
using namespace std;
class deep
{
char *p;
public:
deep(const char *s)
{
p=new char[strlen(s)+1];
strcpy(p,s);
}
void display()
{
cout<<"String:"<<p<<endl;
}
deep(deep &temp)
{
p=new char(strlen(temp.p)+1);
strcpy(p,temp.p);
}
void modify()
{
p[0]='s';
}
};
int main()
{
deep d1("vector"),d2(d1);
d1.display();
d2.display();
cout<<"------------------"<<endl;
d1.modify();
d1.display();
d2.display();
}

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy