Course 05 Algorithms Level 2 - FUNCTIONS & PROCEDURES Summary
Course 05 Algorithms Level 2 - FUNCTIONS & PROCEDURES Summary
في هذا الجدول تجدون أسماء كل (فانكشن) كل ما عليك هو الضغط على إسم أي فانكشن تريده وسيأخذك
.الملف إلى األكواد التابعة لها مباشرة
ال تستخدم هذه األكواد الجاهز إال في الحال قد شاهدت فيديوهات الشرح للدرس وفهمت:تنويه
لكي تتجنب المشاكل، كيف يعمل الكود بشكل صحيح الن فيها خبرات ستفتقدها في حال اهمالها
.ًمستقبال
FUNCTIONS PROCEDURES
ColumSperator PrintPerfectNumbersFrom1ToN
ReadPositiveNumber PrintDigitsInReversedOrder
enPrimeNotPrime PrintAllDigitsFrequencey
isPerfectNumber PrintDigits
SumOfDigits PrintInvertedNumberPattern
ReverseNumber PrintNumberPattern
CountDigitFrequency PrintInvertedLetterPattern
IsPalindromeNumber PrintLetterPattern
ReadPassword, GuessPassword PrintWordsFromAAAtoZZZ
ReadText, EncryptText, DecryptText ReadArray
RandomNumber PrintArray
GetRandomCharacter FillArrayWithRandomNumbers
GenerateWord, GenerateKey CopyArray
GenerateKeys CopyOnlyPrimeNumbers
TimesRepeated SumOf2Arrays
MaxNumberInArray SwapNumbers
MinNumberInArray FillArrayWith1toN
SumArray ShuffleArray
ArrayAverage CopyArrayInReverseOrder
IsNumberInArray FillArrayWithKeys
IsPalindromeArray PrintStringArray
OddCount FindNumberPositionInArray
EvenCount PrintNumberPosition
PositiveCount PrintFoundOrNotFound
NegativeCount AddArrayElement
MyABS InputUserNumbersInArray
GetFractionPart CopyArrayUsingAddArrayElement
MyRound CopyOddNumbers
MyFloor CopyPrimeNumbers
MyCeil FillArray
CopyDistinctNumbersToArray
// Solution #1/2
// Multiplication Table from 1 to 10
string ColumSperator(int Counter)
{
if (Counter < 10)
return " |";
else
return " |";
}
// Solution #2/2
// Print All Prime Numbers From 1 to N
int ReadPositiveNumber(string Message)
{
int Number = 0;
do
{
cout << Message << endl;
cin >> Number;
} while (Number <= 0);
return Number;
}
// Output:
// 28 is perfect.
// 12 is not perfect.
ماعدا العدد نفسه من غير باقي،بيساوي مجموع تقسيم جميع العداد التي أصغر منه:PerfectNumber
// Solution #4/2
// Perfect Numbers From 1 to N
// Input:
// 500
// Output:
// 6
// 28
// 496
void PrintPerfectNumbersFrom1ToN(int Number)
{
for (int i = 1; i <= Number; i++)
{
if (isPerfectNumber(i))
{
cout << i << endl;
}
}
}
// Solution #5/2
//يطبع كل رقم من العدد بالعكس
void PrintDigitsInReversedOrder(int Number)
{
int Remainder = 0;
// Solution #6/2
// Sum of Digits 1234 => 10
int SumOfDigits(int Number)
{
int Sum = 0, Remainder = 0;
return Sum;
}
// Solution #7/2
//يعكس العدد بالكامل 1234 => 4321
return Number2;
}
// Solution #8/2
// Digit Frequency
// Input:
// 1223222
// 2
// Output:
// Digit 2 Frequency is 5 Time(s).
int CountDigitFrequency(short DigitToCheck, int Number)
{
int FreqCount = 0, Remainder = 0;
while (Number > 0)
{
Remainder = Number % 10;
Number = Number / 10;
if (DigitToCheck == Remainder)
{
FreqCount++;
}
}
return FreqCount;
}
// Solution #9/2
// Digit Frequency
// Input:
// 1223222
// Output:
// Digit 1 Frequency is 1 Time(s).
// Digit 2 Frequency is 5 Time(s).
// Digit 3 Frequency is 1 Time(s).
// Input: 1234
// Output:
// 1
// 2
// 3
// 4
Solution #11/2
Palindrome Number
NOTE: Palindrome is a number that reads the same from right to left.
// Input:
// 1234
// 12321
// Output:
// No, it is NOT a Palindrome number.
// Yes, it is a Palindrome number.
// Input: Input:
// 3 5
// Output: Output:
// 333 55555
// 22 4444
// 1 333
// 22
// 1
// Solution #13/2
// Number Pattern
// Input: Input:
// 3 5
// Output: Output:
// 1 1
// 22 22
// 333 333
// 4444
// 55555
// Input: Input:
// 3 5
// Output: Output:
// CCC EEEEE
// BB DDDD
// A CCC
// BB
// A
// Solution #15/2
// Letter Pattern
// Input: Input:
// 3 5
// Output: Output:
// A A
// BB BB
// CCC CCC
// DDDD
// EEEEE
// Output:
// AAA
// AAB
// AAC
// AAD
// .
// .
// .
// ZZZ
void PrintWordsFromAAAtoZZZ()
{
cout << "\n";
string word = "";
word = "";
}
}
// Input:
// AAF
// Output:
// Trial[1]: AAA
// Trial[2]: AAB
// Trial[3]: AAC
// Trial[4]: AAD
// Password is AAD
// Found after 6 Trial(s)
string ReadPassword()
{
string Password;
cout << "Please enter a 3-Letter Password (all capital)?\n";
cin >> Password;
return Password;
}
cout << "Trial [" << Counter << "] : " << word
<< endl;
if (word == OriginalPassword)
{
string ReadText()
{
string Text;
cout << "Please enter Text?\n";
getline(cin, Text);
return Text;
}
int main() {
const short EncryptionKey = 2; //this is the key.
return 0;
}
// Solution #19/2
// Random 3 numbers from 1 to 10
// 9
// 5
// 3
#include <iostream>
#include<cstdlib>
using namespace std;
int main()
{
//Seeds the random number generator in C++, called only once
srand((unsigned)time(NULL));
return 0;
}
// Solution #20/2
// Random Small Letter, Capital Letter, Special Character, and Digit
in order
// Output:
// i
// G
// $
// 7
int main()
{
//Seeds the random number generator in C++, called only once
srand((unsigned)time(NULL));
return 0;
}
// Solution #21/2
// Generate Keys
// Output:
// Key [1]: TQST-MAKQ-ZJSD-QSKW
// Key [2]: XVIF-RBDD-TASQ-RKRZ
// Key [3]: TOOY-HXMH-HSWZ-ELQO
// Key [4]: IXZE-UIYB-HKAZ-AUOU
// Output: TQST
string GenerateWord(enCharType CharType, short Length)
{
string Word;
}
return Word;
}
// Output: TQST-MAKQ-ZJSD-QSKW
string GenerateKey()
{
string Key = "";
return Key;
}
// Input:
// 5
// Output:
// Key [0]: TQST-MAKQ-ZJSD-QSKW
// Key [1]: XVIF-RBDD-TASQ-RKRZ
// Key [2]: TOOY-HXMH-HSWZ-ELQO
// Key [3]: IXZE-UIYB-HKAZ-AUOU
// Key [4]: MATF-PRQA-PQEQ-TRIM
// Input:
// 5
// Output:
// Original array: 1 1 1 2 3
// Input:
// 10
// Output:
// Array Elements: 56 55 83 71 32 52 17 28 71 52
// Solution #24/2
// Max of Random Array
// Input:
// 10
// Output:
// Array Elements: 65 91 54 42 75 32 53 57 57 30
// Max Elements: 91
// Input:
// 10
// Output:
// Array Elements: 30 99 72 47 95 67 29 13 80 64
// Min Elements: 13
// Solution #26/2
// Sum of Random Array
// Input:
// 10
// Output:
// Array Elements: 10 6 22 40 12 75 23 32 25 75
return Sum;
}
// Solution #27/2
// Average of Random Array
// Input:
// 10
// Output:
// Array Elements: 26 36 44 73 8 56 98 67 33 71
// Solution #28/2
// Copy Array
// Input:
// 10
// Output:
// Array 1 elements:
// 1 47 51 18 85 62 51 61 82 4
// Input:
// 10
// Output:
// Array 1 elements:
// 42 68 35 1 70 25 79 59 63 65
arr2Lenght = --Counter;
}
// Solution #30/2
// Sum of 2 Arrays to a third one
// Input:
// How many elements?
// 10
// Output:
// Array 1 elements:
// 42 68 35 1 70 25 79 59 63 65
// Array 2 elements:
// 6 46 82 28 62 92 96 43 28 37
// Input:
// 10
// Output:
// Array elements before shuffle:
// 1 2 3 4 5 6 7 8 9 10
Temp = A;
A = B;
B = Temp;
}
// Input:
// 10
// Output:
// Array 1 elements:
// 64 8 62 19 2 21 15 74 96 85
// Solution #34/2
// Return number index in array
// Input:
// Enter number of elements:
// 10
// Output:
// Array 1 elements:
// 90 89 62 62 91 47 60 67 60 67
//if you reached here, this means the number is not found
return -1;
}
void PrintNumberPosition(int Number, int arr[100], int arrLength)
{
short NumberPosition = FindNumberPositionInArray(Number, arr,
arrLength);
if (NumberPosition == -1)
cout << "The number is not found :-(\n";
else
{
cout << "The number found at position: ";
cout << NumberPosition << endl;
cout << "The number found its order: ";
cout << NumberPosition + 1 << endl;
}
}
int main()
{
//Seeds the random number generator in C++, called only once
srand((unsigned)time(NULL));
FillArrayWithRandomNumbers(arr, arrLength);
return 0;
}
// Solution #35/2
// Check Number In Array
// Input: Input:
// 10 10
// Output: Output:
// Array 1 elements: Array 1 elements:
// 83 92 66 21 62 96 40 13 19 30 83 92 66 21 62 96 40 13 19 30
// Please enter an number to search for? Please enter an number to search for?
// 66 66
// Number you are looking for is: 66 Number you are looking for is: 66
// Yes, The number is found :-) No, The number is not found :-(
cout << "\nNumber you are looking for is: " << Number << endl;
int main()
{
//Seeds the random number generator in C++, called only once
srand((unsigned)time(NULL));
FillArrayWithRandomNumbers(arr, arrLength);
return 0;
}
// Solution #36/2
// Add Array Element Simi Dynamic
// Array Length: 3
// Array elements: 10 20 30
do
{
AddArrayElement(ReadNumber(), arr, arrLength);
cout << "\nDo you want to add more numbers? [0]:No,[1]:yes?
";
cin >> AddMore;
} while (AddMore);
}
// Solution #37/2
// Resolve Problem 28/2 Copy Array Using (AddArrayElement)
void CopyArrayUsingAddArrayElement(int arrSource[100], int
arrDestination[100], int arrLength, int& arrDestinationLength)
{
for (int i = 0; i < arrLength; i++)
AddArrayElement(arrSource[i], arrDestination,
arrDestinationLength);
}
// Solution #38/2
// Copy Odd Numbers to a new Array
// Input:
// 10
// Output:
// Array 1 elements:
// 59 14 84 36 6 51 48 91 96 67
// Solution #39/2
// Copy Prime Numbers to a new Array
// Input:
// 10
// Output:
// Array 1 elements:
// 61 100 32 75 81 95 50 98 13 70
// Output:
// Array Elements:
// 10 20 30 30 20 10
arrLength = 6;
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 30;
arr[4] = 20;
arr[5] = 10;
}
bool IsPalindromeArray(int arr[100], int Length)
{
for (int i = 0; i < Length; i++)
{
if (arr[i] != arr[Length - i - 1])
{
return false;
}
};
return true;
}
int main()
{
int arr[100], Length = 0;
if (IsPalindromeArray(arr, Length))
cout << "\nYes array is Palindrome\n";
else
cout << "\nNO array is NOT Palindrome\n";
return 0;
}
// Solution #42/2
// Count Odd Numbers In Array
// Input:
// 10
// Output:
// Array Elements: 60 78 15 49 56 6 4 3 21 23
// Solution #43/2
// Count Even Numbers In Array
// Input:
// 10
// Output:
// Array Elements: 14 92 70 15 58 76 84 62 10 43
// Output:
// Array Elements: 17 -9 -9 -90 -72 -100 -4 60 -84 -15
// Solution #45/2
// Count Negative Numbers In Array
// Input:
// 10
// Output:
// Array Elements: -58 -16 -21 -4 -91 82 98 66 -8 -33
// Solution #47/2
// MyRound
// Input: Input: Input:
// 10.7 10.3 -10.7
// Solution #49/2
// MyCeil
// Input: Input:
// 10.7 -10.7
// Output: Output:
// My MyCeil Result: 11 My MyCeil Result: -10
// C++ ceil Result: 11 C++ ceil Result: -10
// Input:
// 10.7
// Output:
// My MySqrt Result: 11
// C++ sqrt Result: 11