Öncelikle bilmeniz gerekenler Şablon Makrolar Ve Vektörler bir sonraki aşamaya geçmeden önce!
- Şablonlar, herhangi bir türden bağımsız bir şekilde kod yazmayı içeren genel programlamanın temelidir.
- A Macro is a fragment of code which has been given a name. Ad her kullanıldığında makronun içeriğiyle değiştirilir.
- Vektörler, bir öğe eklendiğinde veya silindiğinde, depoları kap tarafından otomatik olarak işlenerek kendisini otomatik olarak yeniden boyutlandırabilme özelliğine sahip dinamik dizilerle aynıdır.
Böylece kodumuzu etkili bir şekilde yazmak için bu güçlü araçları kullanabiliriz.
Rekabetçi programlamada kullanılabilecek harika püf noktalarından bazıları aşağıda verilmiştir:
// C++ program to demonstrate range based for // loops for accessing vector and array elements #include #include using namespace std; int main() { // Create a vector object that // contains 5 elements vector<int> vec = {0 1 2 3 4}; // Type inference by reference using auto. // Range based loops are preferred when no // modification is needed in value for (const auto &value : vec) cout << value << ' '; cout << 'n'; // Basic 5 element integer array int array[]= {1 2 3 4 5}; for (const auto &value: array) cout << value << ' '; return 0; }
Çıkış:
0 1 2 3 4 1 2 3 4 5
#include template<typename T> void printList(std::initializer_list<T> text) { for (const auto & value: text) std::cout << value << ' '; } // Driver program int main() { // Initialization list printList( {'One' 'Two' 'Three'} ); return 0; }
Çıkış:
One Two Three
#include // Call by reference is used in x template<typename T typename U> static inline void amin(T &x U y) { if (y < x) x = y; } // call by reference is used in x template<typename T typename U> static inline void amax(T &x U y) { if (x < y) x = y; } // Driver program to find the Maximum and Minimum value int main() { int max_val = 0 min_val = 1e5; int array[]= {4 -5 6 -9 2 11}; for (auto const &val: array) // Same as max_val = max (max_val val) // Same as min_val = min (min_valval) amax(max_val val) amin (min_val val); std::cout << 'Max value = ' << max_val << 'n' << 'Min value = ' << min_val; return 0; }
Çıkış:
Max value = 11 Min value = -9
#include template<typename T> void scan(T &x) { x = 0; bool neg = 0; register T c = getchar(); if (c == '-') neg = 1 c = getchar(); while ((c < 48) || (c > 57)) c = getchar(); for ( ; c < 48||c > 57 ; c = getchar()); for ( ; c > 47 && c < 58; c = getchar() ) x= (x << 3) + ( x << 1 ) + ( c & 15 ); if (neg) x *= -1; } template<typename T> void print(T n) { bool neg = 0; if (n < 0) n *= -1 neg = 1; char snum[65]; int i = 0; do { snum[i++] = n % 10 + '0'; n /= 10; } while (n); --i; if (neg) putchar('-'); while (i >= 0) putchar(snum[i--]); putchar('n'); } // Driver Program int main() { int value; // Taking input scan(value); // Printing output print(value); return 0; }
Input: 756 Output: 756
Hızlı giriş ve çıkış hakkında daha fazla bilgi edinmek için Bu makaleyi okuyun .
#include using namespace std; #define rep(in) for (i = 0; i < n; ++i) #define REP(ikn) for (i = k; i <= n; ++i) #define REPR(ikn) for (i = k; i >= n; --i) // Driver program to test above Macros int main() { int i; int array[] = {4 5 6 9 22 11}; int size= sizeof(array)/sizeof(array[0]); // Default 0 index based loop rep(i size) cout << array[i] << ' '; cout<<'n'; // Starting index based loop REP(i 1 size-1) cout << array[i] << ' '; cout<<'n'; // Reverse for loop REPR(i size-10) cout << array[i] << ' '; return 0; }
Çıkış
sorgu seçici
4 5 6 9 22 11 5 6 9 22 11 11 22 9 6 5 4
std::ios_base::sync_with_stdio(false);
Sonuçta bu akıllı hileleri kullanarak minimum sürede ve kelimeyle kolayca kod yazabilirsiniz.