Mohamed-Hamdy / C-plus-plus-Problems

this repository contain c++ problems and algorithms this problems types is c++ oop problems and c++ data structure problems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Table of Contents
  1. General C++ Problems
  2. C++ OOP Problems
  3. C++ Data Structures Problems
  4. C++ Files Problems

General

there is decription file for each problem, it explain details of each problem expain what problem should take as input and there is examples to test functions so check it before test code.

problem_1

create files and solve Discrete Math Tool

problem Decription: Discrete Math Tool The team will develop a tool for performing discrete math operations. Develop a program that takes allows the user to enter data sets and store each one in a separate file. A set is an unordered collection of objects. The objects in a set are called the elements, or members of the set. Here, a set consists of an arbitrary number of integer values. A number exists once in the set. The program allows the user to load two data sets of integers in order to perform discrete math operations on them. Program should do the task and return to the same menu again until the user selects exist.
  • 1- Enter a new data set // Enter a set of integer values and file name to store them
  • 2- Load two data sets // Take two file names and load the data in sets A and B
  • 3- Display data sets // Displays the current data sets A and B
  • E- End
* Union of A, B --> Calculate and display the union * Intersection of A, B --> Calculate and display the intersection * A - B --> Calculate and display A – B (items in A not in B)
* B - A --> Calculate and display B - A (items in B not in A)
* Cartesian product of A and B * Power set of A --> Set of all subsets of A. A = {1,2,3}, // P(A) = {Faye,{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}} * Check if A and B are disjoint --> No item is in A and B at the same time * Check if A and B are equal --> A and B have exactly the same items * Check if a set is a proper subset of other


Problem Team Members :
Mohamed Hamdy Mohamed - @LinkedIn - LinkedIn
Mohamed Abd El Hamid - @LinkedIn - LinkedIn
Mohamed Ali Farouk - @LinkedIn - LinkedIn


problem_2

GrayScale and RGB Images Filters

problem Decription: In this program, you will develop an image processing tool that can apply different filters (changes) to a given gray (and colored) bit map image of size 256 x 256. 1- Black and White Image.
2- Invert Image.
3- Merge Images.
4- Flip Image.
5- Rotate Image.
6- Darken and Lighten Image.
7- Detect Image Edges.
8- Enlarge Image.
9- Shrink Image.


Problem Team Members :
Mohamed Hamdy Mohamed - @LinkedIn - LinkedIn
Mohamed Abd El Hamid - @LinkedIn - LinkedIn
Mohamed Ali Farouk - @LinkedIn - LinkedIn


problem_3

Security Algorithms

problem Decription: In this program, you will develop an image processing tool that can apply different filters (changes) to a given gray (and colored) bit map image of size 256 x 256.

Security Ciphers Names that implemented in the program:

1- Affine Cipher.
2- Caesar Cipher.
3- Atbash Cipher.
4- ROT13 Cipher.
5- Baconian Cipher.
6- Simple Substitution Cipher.
7- Polybius Square Cipher.
8- Morse Code.
9- XOR Cipher.
10- Rail-fence Cipher.


Problem Team Members :
Mohamed Hamdy Mohamed - @LinkedIn - LinkedIn
Mohamed Abd El Hamid - @LinkedIn - LinkedIn
Mohamed Ali Farouk - @LinkedIn - LinkedIn


problem_4

Matrix Operations

problem Decription: Using structures, 2-D arrays, functions and overloading, the team will develop a set of functions for matrix manipulation. A matrix is represented by the following structure:
1- matrix operator+ (matrix mat1, matrix mat2); --> Add if same dimensions
2- matrix operator- (matrix mat1, matrix mat2); --> Sub if same dimensions
3- matrix operator* (matrix mat1, matrix mat2); --> Multi if col1 == row2
4- matrix operator+ (matrix mat1, int scalar); --> Add a scalar
5- matrix operator- (matrix mat1, int scalar); --> Subtract a scalar
6- matrix operator* (matrix mat1, int scalar); --> Multiple by scalar

7- matrix operator+= (matrix& mat1, matrix mat2); --> mat1 changes & return new matrix with the sum
8- matrix operator-= (matrix& mat1, matrix mat2); --> mat1 changes + return new matrix with difference
9- matrix operator+= (matrix& mat, int scalar); --> change mat & return new
10- matrix operator-= (matrix& mat, int scalar); --> change mat & return new
11- void operator++ (matrix& mat); --> Add 1 to each element ++mat
12- void operator-- (matrix& mat); --> Sub 1 from each element --mat
13- istream& operator>> (istream& in, matrix& mat); --> Input matrix like this (dim 2 x 3) cin >> 2 3 4 6 8 9 12 123 and return istream to allow cascading input

14- ostream& operator<< (ostream& out, matrix mat); --> Print matrix as follows (2 x 3) 4 6 8 and return ostream to cascade printing 9 12 123
15- bool operator== (matrix mat1, matrix mat2); --> True if identical
16- bool operator!= (matrix mat1, matrix mat2); --> True if not same
17- bool isSquare (matrix mat); --> True if square matrix
18- bool isSymetric (matrix mat); --> True if square and symmetric
19- bool isIdentity (matrix mat); --> True if square and identity
20- matrix transpose(matrix mat); --> Return new matrix with the transpose

problem_5

vending machine simulator

problem Decription: vending machine simulator for drinks and candy, which is the machine in which the money is placed, and one of the things that you sell is requested, then the required and the rest of the money is brought down to the buyer and it works as follows:
1- When you start the program, it starts with defualt values for the quality of sweets and drinks in it, as well as with automatic values for the amount of money available in it in terms of categories of cash and currencies and their number.
2- The machine carries 10 different types and of each type it carries ten units, and it has a specific unit price of
3-The machine has one type of user and they are the buyers
4- The buyer places coins or banknotes in denominations of half a pound, one pound, five pounds, ten pounds, and twenty pounds.
5- Then the buyer presses the number of the type he wants, and if he has put in enough money, the machine will spend the required item for him and spend the rest of the amount paid to him in the largest available cash denomination. The rest of him has a half-pound coin.
6- If the required type is present, it is disbursed and the rest of the money will be spent

7- If the required type is not available, the machine appears a message informing the user that the required type is not available and asking him to either choose another type or get the money back
8- If the buyer wants to cancel the transaction after entering the money, he enters the option 0 and the money is returned to him
9- If all types are finished and all the goods are consumed in the machine, it stops accepting money and choices from buyers


problem_6

BigDecmal Operations

problem Decription: in this problem we will do some operations like sum and substraction and cin and count oprators overloading for the big decimal number
1- operator+ (BigDecimalInt another_BigDecimalInt) --> make sum oprator for two bigdecimal numbers
2- operator- (BigDecimalInt another_BigDecimalInt) --> make sum oprator for two bigdecimal numbers
3-ostream&operator<<(ostream &out,BigDecimalInt another) --> make print or cout oprator for result


Problem Team Members :
Mohamed Hamdy Mohamed - @LinkedIn - LinkedIn
Mohamed Abd El Hamid - @LinkedIn - LinkedIn
Mohamed Ali Farouk - @LinkedIn - LinkedIn


### problem_7 problem Decription: it's complete program that helps biologists manage and analyze their sequence data while storing it in a computer. The biological data can be divided into 3 types of sequences: DNA, RNA, and Protein. A DNA sequence can be of type (promoter, motif, tail, noncoding). Each DNA sequence consists of 2 strands, each strand is a string that is formed by the following 4 characters (nucleotides): A,C,G,T and each strand has its own direction (like 2-way street). ACAAGG, CGATACAG, TTACGCCAT, and GACCCCTA are examples of single DNA strands so we create this program to convert DNA sequence to RNA sequence which is then converted to a Protein sequence.


Problem Team Members :
Mohamed Hamdy Mohamed - @LinkedIn - LinkedIn
Mohamed Abd El Hamid - @LinkedIn - LinkedIn
Mohamed Ali Farouk - @LinkedIn - LinkedIn


problem_8

1- BigDecimal operators.
2- Fraction Calculator .
3- Matrix Calculator .
4- find a to the power n(a power n) using recursive.
5- ListPermutations .
6- replace Names.

Group One Problems Description pdf


Problem Team Members :
Mohamed Hamdy - @LinkedIn - LinkedIn
Ahmad Gomaa - @LinkedIn - LinkedIn
Mahmoud Magdy - @LinkedIn - LinkedIn


problem_9

1- STL algorithms.
2- STL Map.
3- binary Search.
4- S1, S2, S3 are the length sides of triangle.
5- Merge and Quick sorts.
6- Insertion sort uses linear search.

Group Two Problems Description pdf


Problem Team Members :
Mohamed Hamdy - @LinkedIn - LinkedIn
Ahmad Gomaa - @LinkedIn - LinkedIn
Mahmoud Magdy - @LinkedIn - LinkedIn


problem_10

1- Linked lists Using STL list.
2- Linked lists Using Stack.
3- STL stack .
4- is Palindrome .
5- Queues .
6- Priority Queue .
7- STL queue .

Group Three Problems Description pdf


Problem Team Members :
Mohamed Hamdy - @LinkedIn - LinkedIn
Ahmad Gomaa - @LinkedIn - LinkedIn
Mahmoud Magdy - @LinkedIn - LinkedIn


problem_11

1- Tree Operations.

Group Four Problems Description pdf


Problem Team Members :
Mohamed Hamdy - @LinkedIn - LinkedIn
Ahmad Gomaa - @LinkedIn - LinkedIn
Mahmoud Magdy - @LinkedIn - LinkedIn


problem_12

Problems Functions 1- add data.
2- delete data.
3- update data.
4- display data.


Problem Team Members :
Mohamed Hamdy - @LinkedIn - LinkedIn
Ahmad Gomaa - @LinkedIn - LinkedIn
Mahmoud Magdy - @LinkedIn - LinkedIn


problem_13

Problem Functions

1- add book.
2- search for book.
3- read book using cin operator overloading.
4- save book using cout operator overloading.
5- delete Book.
6- display book.


Problem Team Members :
Mohamed Hamdy - @LinkedIn - LinkedIn
Ahmad Gomaa - @LinkedIn - LinkedIn
Mahmoud Magdy - @LinkedIn - LinkedIn


problem_14

Problem Functions

1- add Course.
2- Print Course by ID.
3- Print Course by Name.
4- Delete Course by ID.
5- Delete Course by Name.
6- Updata Course by ID.
7- Updata Course by Name.
8- Search for Course using ID.
9- Search for Course using Name.
10- search for book.
11- Save Course info in file.
12- load Course Data From file.


Problem Team Members :
Mohamed Hamdy - @LinkedIn - LinkedIn
Ahmad Gomaa - @LinkedIn - LinkedIn
Mahmoud Magdy - @LinkedIn - LinkedIn


About

this repository contain c++ problems and algorithms this problems types is c++ oop problems and c++ data structure problems


Languages

Language:C++ 99.5%Language:Python 0.2%Language:C 0.2%Language:Batchfile 0.0%Language:Shell 0.0%