Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सरणी के रूप में दर्शाई गई संख्या में 1 जोड़ना (पुनरावर्ती दृष्टिकोण)


इस खंड में हम एक रोचक समस्या देखेंगे। मान लीजिए एक संख्या दी गई है। हमें इस संख्या को 1 से बढ़ाना है। यह अत्यंत सरल कार्य है। लेकिन यहां हम संख्या को एक सरणी के रूप में रखेंगे। उस संख्या का प्रत्येक अंक सरणी का एक तत्व होगा। यदि संख्या 512 है, तो इसे {5, 1, 2} के रूप में संग्रहीत किया जाएगा। और हमें पुनरावर्ती दृष्टिकोण का उपयोग करके संख्या को बढ़ाना है। आइए एल्गोरिदम देखें ताकि स्पष्ट विचार मिल सके।

एल्गोरिदम

increment(arr, n, index)

प्रारंभ में index का डिफ़ॉल्ट मान 0 है

begin   if index < n, then     if arr[index] < 9, then         arr[index] := arr[index] + 1     else         arr[index] := 0         increment(arr, n, index + 1)     end if   if index = n, then     arr[n] := 1     n := n + 1   end if end

उदाहरण

#include  #include  #define MAX 20 using namespace std; void increment(int num_arr[], int &n, int index = 0){     if(index < n){         if(num_arr[index] < 9){ //यदि अंक 9 से कम है, तो 1 जोड़ें         num_arr[index]++;         }else{ //अन्यथा पुनरावर्ती रूप से संख्या बढ़ाएं         num_arr[index] = 0;         increment(num_arr, n, index+1);         }     }     if(index == n){         num_arr[n] = 1; //अतिरिक्त कैरी जोड़ें         n++; //n बढ़ाएं     } } void dispNumber(int num_arr[], int n){     for(int i = n-1; i>= 0; i--){         cout << num_arr[i];     }     cout << endl; } int numToArr(int num_arr[], int number){     int i = 0;     int n = log10(number) + 1;     for(int i = i; i< n; i++){         num_arr[i] = number % 10;         number /= 10;     }     return n; } main() {     int number = 1782698599;     int num_arr[MAX];     int n = numToArr(num_arr, number);     cout << "Initial Number: "; dispNumber(num_arr, n);     increment(num_arr, n);     cout << "Final Number: "; dispNumber(num_arr, n); }

आउटपुट

Initial Number: 1782698599 Final Number: 1782698600

  1. - C++ में अंकों के एरे के रूप में दर्शाई गई संख्या में एक जोड़ना

    एरे के रूप में दर्शाई गई संख्या संख्या के प्रत्येक अंक को एरे के एक तत्व में संग्रहीत करती है। एरे की लंबाई एरे में अंकों की संख्या के बराबर होती है यानी चार अंकों की संख्या के लिए लंबाई = 3। एरे का प्रत्येक तत्व एक अंक की संख्या है। संख्या इस तरह से संग्रहीत होती है कि अंतिम तत्व संख्या का सबसे कम

  1. - C# में HashSet में तत्वों की संख्या

    C# में HashSet में तत्वों की संख्या प्राप्त करने के लिए, कोड निम्नानुसार है: उदाहरण using System; using System.Collections.Generic; public class Demo { public static void Main() { HashSet set1 = new HashSet(); set1.Add(25); set1.Add(50); set1.Add(75);

  1. - C# प्रोग्राम: सरणी में बाइट्स की संख्या गिनें

    एक बाइट सरणी सेट करें: byte[] b = { 5, 9, 19, 23, 29, 35, 55, 78 }; बाइट्स की संख्या गिनने के लिए: Buffer.ByteLength(b) निम्न कोड है: उदाहरण using System; class Program { static void Main() { byte[] b = { 5, 9, 19, 23, 29, 35, 55, 78 }; int len = Buffer.ByteLength(b);