इस प्रोग्राम में हम देखेंगे कि C++ में पूर्णांक के अंकों को कैसे ज़ूम (बड़े आकार में) प्रिंट किया जाए। ज़ूमिंग का अर्थ है संख्याओं को अन्य कैरेक्टर्स का उपयोग करके बड़े रूप में प्रिंट करना। तर्क सरल है, लेकिन हमें 0 से 9 तक प्रत्येक अंक को बड़े रूप में एक-एक करके बनाना होगा।
उदाहरण कोड
#include <bits/stdc++.h>
using namespace std;
void print_zero() {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 0 || i == 4)
cout << '#';
else if (j == 0 || j == 4)
cout << '#';
else
cout << " ";
}
cout << endl;
}
}
void print_one() {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 2)
cout << '#';
else if ((i == 1 && j == 1))
cout << '#';
else if (i == 4)
cout << '#';
else
cout << " ";
}
cout << endl;
}
}
// ... (print_two से print_nine तक समान पैटर्न)
void zoom_digit(int number) {
// संख्या को स्ट्रिंग में बदलें
stringstream ss;
ss << number;
string str = ss.str();
for (int k = 0; k < str.length(); k++) {
cout << endl;
switch(str[k] - '0') {
case 0: print_zero(); break;
case 1: print_one(); break;
case 2: print_two(); break;
case 3: print_three(); break;
case 4: print_four(); break;
case 5: print_five(); break;
case 6: print_six(); break;
case 7: print_seven(); break;
case 8: print_eight(); break;
case 9: print_nine(); break;
}
}
}
int main() {
long long number = 125478539;
zoom_digit(number);
return 0;
}
आउटपुट
प्रोग्राम प्रत्येक अंक को 5x5 ग्रिड में '#' कैरेक्टर्स का उपयोग करके बड़े आकार में प्रिंट करता है।
सुधारित संस्करण (अधिक कुशल)
प्रत्येक अंक के लिए अलग फ़ंक्शन बनाने के बजाय, हम पैटर्न को एक सरणी में संग्रहीत कर सकते हैं:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
const vector<vector<string>> digitPatterns = {
{"###", "# #", "# #", "# #", "###"}, // 0
{" #", " #", " #", " #", " #"}, // 1
{"###", " #", "###", "# ", "###"}, // 2
{"###", " #", "###", " #", "###"}, // 3
{"# #", "# #", "###", " #", " #"}, // 4
{"###", "# ", "###", " #", "###"}, // 5
{"###", "# ", "###", "# #", "###"}, // 6
{"###", " #", " #", " #", " #"}, // 7
{"###", "# #", "###", "# #", "###"}, // 8
{"###", "# #", "###", " #", "###"} // 9
};
void printDigit(int d) {
for (const string& row : digitPatterns[d]) {
cout << row << " "; // अंकों के बीच स्पेस
}
cout << endl;
}
void zoomNumber(long long n) {
string s = to_string(n);
for (int row = 0; row < 5; row++) {
for (char c : s) {
cout << digitPatterns[c - '0'][row] << " ";
}
cout << endl;
}
}
int main() {
zoomNumber(125478539);
return 0;
}
यह संस्करण अधिक संक्षिप्त, रखरखाव योग्य और क्षैतिज रूप से अंकों को प्रिंट करता है (लंबवत नहीं), जो पढ़ने में आसान है।