From 04f1a7d63de9d524f0aa114997910fdb772ac0cf Mon Sep 17 00:00:00 2001 From: Jaskirat Date: Sun, 2 Mar 2025 22:22:35 +0530 Subject: [PATCH 1/2] Rotate_array_90degree added --- .vscode/tasks.json | 28 +++++++ Array/Rotate_array_90degree.cpp | 131 ++++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+) create mode 100644 .vscode/tasks.json create mode 100644 Array/Rotate_array_90degree.cpp diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..865ba8bb --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc.exe build active file", + "command": "C:\\msys64\\ucrt64\\bin\\gcc.exe", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}\\${fileBasenameNoExtension}.exe" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "Task generated by Debugger." + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/Array/Rotate_array_90degree.cpp b/Array/Rotate_array_90degree.cpp new file mode 100644 index 00000000..377773cd --- /dev/null +++ b/Array/Rotate_array_90degree.cpp @@ -0,0 +1,131 @@ + +// #include +// using namespace std; +// int main() +// { +// int rows; +// int columns; +// cout << "enter no.of rows:" << endl; +// cin >> rows; +// cout << "enter no. of columns:" << endl; +// cin >> columns; +// int matrix[rows][columns]; +// for (int i = 0; i < rows; i++) +// { +// for (int j = 0; j < columns; j++) +// { +// cout << "enter value " << i << " " << j << endl; +// cin >> matrix[i][j]; +// } +// } +// for (int i = 0; i < rows; i++) +// { +// for (int j = 0; j < columns; j++) +// { +// cout << matrix[i][j] << " "; +// } +// cout << endl; +// } +// // performing transpose in the same matrix itself +// for (int i = 0; i < rows; i++) +// { +// for (int j = i + 1; j < columns; j++) +// { +// int temp = matrix[i][j]; +// matrix[i][j] = matrix[j][i]; +// matrix[j][i] = temp; +// } +// } +// // now reversing each row +// for (int i = 0; i < rows; i++) +// { +// int start = 0, end = columns - 1; +// while (start < end) +// { +// int temp = matrix[i][start]; +// matrix[i][start] = matrix[i][end]; +// matrix[i][end] = temp; +// start++; +// end--; +// } +// } +// for (int i = 0; i < rows; i++) +// { +// for (int j = 0; j < columns; j++) +// { +// cout << matrix[i][j] << " "; +// } +// cout << endl; +// } +// return 0; +// } +#include +#include +using namespace std; + +void rotateMatrix(vector> &matrix) +{ + int rows = matrix.size(); + int cols = matrix[0].size(); + + // Create a new matrix to store rotated values + vector> rotated(cols, vector(rows)); + + // Rotate the matrix (90 degrees clockwise) + for (int i = 0; i < rows; i++) + { + for (int j = 0; j < cols; j++) + { + rotated[j][rows - 1 - i] = matrix[i][j]; + } + } + + // Copy rotated matrix back to original matrix + matrix = rotated; +} + +int main() +{ + int rows, cols; + cout << "Enter number of rows: "; + cin >> rows; + cout << "Enter number of columns: "; + cin >> cols; + + vector> matrix(rows, vector(cols)); + + // Input matrix elements + cout << "Enter matrix elements:\n"; + for (int i = 0; i < rows; i++) + { + for (int j = 0; j < cols; j++) + { + cin >> matrix[i][j]; + } + } + + cout << "\nOriginal Matrix:\n"; + for (const auto &row : matrix) + { + for (int val : row) + { + cout << val << " "; + } + cout << endl; + } + + // Rotate the matrix + rotateMatrix(matrix); + + cout << "\nRotated Matrix (90 degrees clockwise):\n"; + for (const auto &row : matrix) + { + for (int val : row) + { + cout << val << " "; + } + cout << endl; + } + + return 0; +} From 50601664dc67ec3c9faefb912683a753139d20a5 Mon Sep 17 00:00:00 2001 From: Jaskirat Date: Mon, 10 Mar 2025 20:32:15 +0530 Subject: [PATCH 2/2] maximum_xor_2numbers in array added --- Array/Rotate_array_90degree.cpp | 60 ----------------------------- Bitmasking/.vscode/tasks.json | 28 ++++++++++++++ Bitmasking/maximum_xor_2numbers.cpp | 21 ++++++++++ 3 files changed, 49 insertions(+), 60 deletions(-) create mode 100644 Bitmasking/.vscode/tasks.json create mode 100644 Bitmasking/maximum_xor_2numbers.cpp diff --git a/Array/Rotate_array_90degree.cpp b/Array/Rotate_array_90degree.cpp index 377773cd..2c3e2215 100644 --- a/Array/Rotate_array_90degree.cpp +++ b/Array/Rotate_array_90degree.cpp @@ -1,64 +1,4 @@ -// #include -// using namespace std; -// int main() -// { -// int rows; -// int columns; -// cout << "enter no.of rows:" << endl; -// cin >> rows; -// cout << "enter no. of columns:" << endl; -// cin >> columns; -// int matrix[rows][columns]; -// for (int i = 0; i < rows; i++) -// { -// for (int j = 0; j < columns; j++) -// { -// cout << "enter value " << i << " " << j << endl; -// cin >> matrix[i][j]; -// } -// } -// for (int i = 0; i < rows; i++) -// { -// for (int j = 0; j < columns; j++) -// { -// cout << matrix[i][j] << " "; -// } -// cout << endl; -// } -// // performing transpose in the same matrix itself -// for (int i = 0; i < rows; i++) -// { -// for (int j = i + 1; j < columns; j++) -// { -// int temp = matrix[i][j]; -// matrix[i][j] = matrix[j][i]; -// matrix[j][i] = temp; -// } -// } -// // now reversing each row -// for (int i = 0; i < rows; i++) -// { -// int start = 0, end = columns - 1; -// while (start < end) -// { -// int temp = matrix[i][start]; -// matrix[i][start] = matrix[i][end]; -// matrix[i][end] = temp; -// start++; -// end--; -// } -// } -// for (int i = 0; i < rows; i++) -// { -// for (int j = 0; j < columns; j++) -// { -// cout << matrix[i][j] << " "; -// } -// cout << endl; -// } -// return 0; -// } #include #include using namespace std; diff --git a/Bitmasking/.vscode/tasks.json b/Bitmasking/.vscode/tasks.json new file mode 100644 index 00000000..865ba8bb --- /dev/null +++ b/Bitmasking/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc.exe build active file", + "command": "C:\\msys64\\ucrt64\\bin\\gcc.exe", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}\\${fileBasenameNoExtension}.exe" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "Task generated by Debugger." + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/Bitmasking/maximum_xor_2numbers.cpp b/Bitmasking/maximum_xor_2numbers.cpp new file mode 100644 index 00000000..edaa26ee --- /dev/null +++ b/Bitmasking/maximum_xor_2numbers.cpp @@ -0,0 +1,21 @@ +// C++ program to find the maximum +// XOR value of two elements in an array +#include +using namespace std; + +// Function to find the maximum XOR +int maxXOR(vector &arr) { + int res = 0; + for (int i = 0; i < arr.size(); i++) { + for (int j = i + 1; j < arr.size(); j++) { + res = max(res, arr[i] ^ arr[j]); + } + } + return res; +} + +int main() { + vector arr = {25, 10, 2, 8, 5, 3}; + cout << maxXOR(arr); + return 0; +}