- एक्ज़िक्यूटर्स
-
सीखें
Python सीखने का केंद्र चलने योग्य उदाहरण, NumPy, pandas और बहुत कुछ C और C++ सीखने का केंद्र पॉइंटर, मेमोरी, STL और आधुनिक C++ C# सीखने का केंद्रC# मूल बातें, OOP, LINQ, async और .NET अभ्यास Python एल्गोरिदम खोज, सॉर्टिंग, रिकर्शन और विज़ुअलाइज़र O(n) C और C++ एल्गोरिदम C और C++ कार्यान्वयन की तुलना करें
- चैलेंज
नेव बेयस मानता है कि क्लास पता होने पर फ़ीचर एक-दूसरे से स्वतंत्र हैं, और सबसे ऊँचे स्कोर वाली क्लास चुनता है:
score(c) = P(c) × P(x₁ | c) × P(x₂ | c) × … × P(xₙ | c)
फ़ीचर पूर्णांकों के रूप में एन्कोड की गई श्रेणियाँ हैं। ट्रेनिंग डेटा से प्रायिकताओं का अनुमान लगाएँ:
- P(c) = (क्लास c के सैंपल की संख्या) / (कुल सैंपल)
- P(xⱼ = v | c) = (क्लास c के उन सैंपल की संख्या जिनका फ़ीचर j, v के बराबर है + 1) / (क्लास c के सैंपल की संख्या + Kⱼ)
जहाँ Kⱼ ट्रेनिंग सैंपल और क्वेरी में फ़ीचर j के अलग-अलग मानों की संख्या है। +1 (लाप्लास स्मूदिंग) किसी अनदेखे मान को स्कोर शून्य करने से रोकता है।
सबसे ऊँचे स्कोर वाली क्लास लौटाएँ; बराबरी होने पर छोटी क्लास लौटाएँ। कई छोटी प्रायिकताओं को गुणा करने से अंडरफ़्लो हो सकता है, इसलिए गुणा के बजाय लघुगणक जोड़ें।
naive_bayes_predict(features, labels, query) लागू करें।
इनपुट
features: हर ट्रेनिंग सैंपल के लिए n कैटेगोरिकल फ़ीचर की एक पंक्ति।
labels: हर ट्रेनिंग सैंपल की क्लास।
query: वर्गीकृत किए जाने वाले सैंपल के n फ़ीचर।
आउटपुट
अनुमानित क्लास लौटाएँ।
सीमाएँ
1 ≤ सैंपल ≤ 1,000, 1 ≤ n ≤ 20
0 ≤ हर फ़ीचर मान और लेबल ≤ 100
उदाहरण
उदाहरण 1
इनपुट:
query = [0, 1]
labels = [1, 1, 0, 0, 1]
features = [
[0, 1],
[0, 0],
[1, 1],
[1, 0],
[0, 1]
]
अपेक्षित आउटपुट:
1
व्याख्या
क्लास 1 में 3 सैंपल हैं और क्लास 0 में 2। फ़ीचर 1 के मान {0, 1} हैं (K = 2), फ़ीचर 2 के {0, 1} (K = 2)। score(1) = 3/5 × (3+1)/(3+2) × (2+1)/(3+2) = 0.6 × 0.8 × 0.6 = 0.288। score(0) = 2/5 × (0+1)/(2+2) × (1+1)/(2+2) = 0.4 × 0.25 × 0.5 = 0.05। क्लास 1 जीतती है।
उदाहरण 2
इनपुट:
query = [2]
labels = [0, 0, 1]
features = [
[0],
[0],
[1]
]
अपेक्षित आउटपुट:
0
व्याख्या
मान 2 कभी नहीं आता, इसलिए K = 3 (मान 0, 1 और 2)। score(0) = 2/3 × (0+1)/(2+3) ≈ 0.133 और score(1) = 1/3 × (0+1)/(1+3) ≈ 0.083। स्मूदिंग की वजह से कोई भी 0 नहीं है, और ज़्यादा आम क्लास 0 जीतती है।
संदर्भ
-
उदाहरण 1 नहीं चलाया गयाइनपुट:
query = [0, 1] labels = [1, 1, 0, 0, 1] features = [ [0, 1], [0, 0], [1, 1], [1, 0], [0, 1] ]अपेक्षित आउटपुट:1आपका आउटपुट -
उदाहरण 2 नहीं चलाया गयाइनपुट:
query = [2] labels = [0, 0, 1] features = [ [0], [0], [1] ]अपेक्षित आउटपुट:0आपका आउटपुट
सबमिट करने पर 4 छुपे हुए टेस्ट भी चलेंगे।
ऑनलाइन C++ कंपाइलर और डीबगर
सर्वर मोड GDB में ब्रेकपॉइंट, वेरिएबल और स्टेप कंट्रोल के साथ C++ डीबग करें।
🚀 2,392,381 कुल निष्पादन (7 इस महीने)
कोडिंग चैलेंज के साथ C++ का अभ्यास करें
सीधे इस एडिटर में प्रैक्टिकल समस्याएँ हल करें: सैंपल टेस्ट चलाएँ, सबमिट करें, और AI कोड रिव्यू पाएं।
विषय के अनुसार देखें
Practical code, output, memory model, data structures, algorithms और modern C++ के साथ दोनों भाषाएँ साथ सीखें।
💻 इस C++ ऑनलाइन एक्जीक्यूटर के बारे में
CodeUtility C++ Executor आपको ब्राउज़र में ही C++ कोड लिखने और चलाने देता है - कोई इंस्टॉलेशन या कंपाइलर सेटअप की जरूरत नहीं। यह एक सुरक्षित सैंडबॉक्स द्वारा संचालित है जो असली C++ मानकों C++11, C++14, C++17 से लेकर नवीनतम संस्करण तक सपोर्ट करता है।
यह टूल क्लाउड में चल रहे असली C++ कंपाइलर का उपयोग करके आपके कोड को कंपाइल और रन करता है, जिससे अलग-अलग संस्करणों में सटीक और एकसमान व्यवहार सुनिश्चित होता है। आप C++ की मूल अवधारणाओं जैसे variables, functions, loops, conditionals, और object-oriented programming के साथ बेझिझक प्रयोग कर सकते हैं।
चाहे आप इंटरव्यू की तैयारी कर रहे हों, आधुनिक C++ फीचर्स सीख रहे हों, या किसी एल्गोरिदम के लॉजिक को परखना चाहते हों, CodeUtility C++ Executor किसी भी डिवाइस से तुरंत कोड चलाने के लिए एक सरल लेकिन शक्तिशाली वातावरण प्रदान करता है।
सिर्फ़ एक कोड रनर से कहीं अधिक
एक ही एक्ज़ीक्यूटर में मल्टी-फ़ाइल एडिटर, अलग-थलग निष्पादन टर्मिनल, रनटाइम-विशिष्ट लाइब्रेरी, स्थायी वर्कस्पेस, साझाकरण और रीयल-टाइम सहयोग का उपयोग करें।
इस एक्ज़ीक्यूटर का उपयोग कैसे करें?
रनटाइम चुनें, फ़ाइल खोलें या बनाएँ, अपना कोड लिखें और चलाएँ चुनें। आउटपुट टर्मिनल में दिखाई देता है। साइन-इन उपयोगकर्ता वर्कस्पेस में फ़ाइलें रख सकते हैं, लाइब्रेरी इंस्टॉल कर सकते हैं और शेयर के माध्यम से सहयोग कर सकते हैं।
- एक संस्करण चुनें और वर्तमान फ़ाइल संपादित करें या वर्कस्पेस की दूसरी फ़ाइल खोलें।
- कोड चलाएँ, माँगे जाने पर टर्मिनल में इनपुट दें और सहेजा गया रन इतिहास देखें।
- जब कार्य के लिए एक से अधिक कोड अंश चाहिए, तो लाइब्रेरी, वर्कस्पेस टूल, शेयरिंग और चैट का उपयोग करें।
💡 C++ की बुनियादी बातें और उदाहरण जिन्हें आप ऊपर आज़मा सकते हैं
1. वेरिएबल्स और कॉन्स्टेंट्स घोषित करना
C++ में हर वेरिएबल का टाइप घोषित करना जरूरी है। ऐसे मान परिभाषित करने के लिए const का उपयोग करें जिन्हें initialization के बाद बदला नहीं जा सकता।
int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;
// कॉन्स्टेंट्स
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";
// const को बदलने की कोशिश करने पर compile-time त्रुटि होगी
// MAX_USERS = 200; // ❌ त्रुटि
2. शर्तें (if / switch)
ब्रांचिंग के लिए if, else if, else का उपयोग करें। कई मानों के लिए switch का उपयोग करें।
int x = 2;
if (x == 1) {
std::cout << "एक\n";
} else if (x == 2) {
std::cout << "दो\n";
} else {
std::cout << "अन्य\n";
}
// स्विच-केस
switch (x) {
case 1:
std::cout << "एक\n";
break;
case 2:
std::cout << "दो\n";
break;
default:
std::cout << "अन्य\n";
}
3. लूप्स
for, while, और do-while का उपयोग कोड ब्लॉक को दोहराने के लिए करें।
for (int i = 0; i < 3; i++) {
std::cout << i << "\n";
}
int n = 3;
while (n > 0) {
std::cout << n << "\n";
n--;
}
4. ऐरे
ऐरे एक ही प्रकार के कई एलिमेंट्स स्टोर करते हैं।
int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";
5. ऐरे/वेक्टर मैनिपुलेशन
डायनेमिक ऐरे के लिए std::vector का उपयोग करें।
#include <vector>
std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();
for (int n : nums) {
std::cout << n << " ";
}
6. कंसोल इनपुट/आउटपुट
इनपुट के लिए std::cin और आउटपुट के लिए std::cout का उपयोग करें।
std::string name;
std::cout << "अपना नाम दर्ज करें: ";
std::cin >> name;
std::cout << "नमस्ते, " << name << "\n";
7. फ़ंक्शन्स
फ़ंक्शन्स पुन: प्रयोज्य लॉजिक को समूहित करते हैं। पैरामीटर्स और रिटर्न टाइप्स का उपयोग करें।
int add(int a, int b) {
return a + b;
}
std::cout << add(3, 4);
8. मैप्स
std::map डिक्शनरी की तरह कुंजी-मूल्य जोड़े स्टोर करता है।
#include <map>
std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];
9. एक्सेप्शन हैंडलिंग
रनटाइम त्रुटियों को संभालने के लिए try और catch का उपयोग करें।
try {
throw std::runtime_error("त्रुटि हुई");
} catch (const std::exception& e) {
std::cout << e.what();
}
10. फ़ाइल I/O
फ़ाइलों से पढ़ने और लिखने के लिए fstream का उपयोग करें।
#include <fstream>
std::ofstream out("file.txt");
out << "नमस्ते फ़ाइल";
out.close();
std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();
11. स्ट्रिंग मैनिपुलेशन
C++ स्ट्रिंग्स length(), substr(), और find() जैसी मेथड्स सपोर्ट करती हैं।
std::string text = "Hello World";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("World");
12. क्लासेस और ऑब्जेक्ट्स
C++ क्लासेस के माध्यम से ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सपोर्ट करता है।
class Person {
public:
std::string name;
Person(std::string n) : name(n) {}
void greet() { std::cout << "नमस्ते, मैं " << name; }
};
Person p("Alice");
p.greet();
13. पॉइंटर्स
एक पॉइंटर किसी दूसरे वेरिएबल के मेमोरी ऐड्रेस को स्टोर करता है। ऐड्रेस पाने के लिए & का उपयोग करें,
और उस ऐड्रेस पर मौजूद मान तक पहुँचने के लिए * (डिरेफरेंस) करें।
int x = 10;
int* ptr = &x;
std::cout << "x का मान: " << x << "\n";
std::cout << "x का ऐड्रेस: " << ptr << "\n";
std::cout << "पॉइंटर से मान: " << *ptr << "\n";
// पॉइंटर के जरिए x को बदलें
*ptr = 20;
std::cout << "अपडेटेड x: " << x << "\n";
🐞 %{language} कोड ऑनलाइन डीबग कैसे करें
ऑनलाइन %{language} डीबगर से कंपाइलर या IDE इंस्टॉल किए बिना रनटाइम और लॉजिक त्रुटियाँ खोजें। सर्वर मोड debug symbols के साथ कंपाइल करता है और प्रोग्राम को GDB में चलाता है।
- लाइन नंबर के पास ब्रेकपॉइंट लगाएँ।
- कंपाइल करके पहले ब्रेकपॉइंट पर रुकने के लिए Debug चुनें।
- वर्तमान लाइन, call stack और वेरिएबल देखें।
- Continue, Step Over, Step Into या Step Out उपयोग करें।
- सत्र समाप्त करने के लिए Stop चुनें।
एक छोटे दोहराए जा सकने वाले उदाहरण से शुरू करें और अनपेक्षित व्यवहार से ठीक पहले ब्रेकपॉइंट लगाएँ।