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

पॉइंटर्स का उपयोग करके उपयोगकर्ता द्वारा दर्ज सरणी का प्रकार ज्ञात करने का C प्रोग्राम

समस्या

एक C प्रोग्राम लिखें जो सरणी का प्रकार ज्ञात करे, हमें यह जांचने की आवश्यकता है कि क्या सरणी में दिए गए तत्व सम संख्याएं हैं या विषम संख्याएं या दोनों का संयोजन पॉइंटर्स का उपयोग करके।

समाधान

उपयोगकर्ता को पूर्णांकों की एक सरणी दर्ज करनी होगी, फिर सरणी का प्रकार प्रदर्शित करें।

उदाहरण 1 - इनपुट: 5 3 1, आउटपुट: odd array

उदाहरण 2 - इनपुट: 2 4 6 8, आउटपुट: even array

उदाहरण 3 - इनपुट: 1 2 3 4 5, आउटपुट: mixed array

एल्गोरिथम

पॉइंटर्स की मदद से उपयोगकर्ता द्वारा दर्ज सरणी का प्रकार ज्ञात करने के लिए नीचे दिया गया एल्गोरिथम देखें।

चरण 1: रनटाइम पर सरणी का आकार पढ़ें।

चरण 2: सरणी तत्वों को इनपुट करें।

चरण 3: पॉइंटर वेरिएबल डिक्लेयर करें।

चरण 3: जांचें, यदि सरणी के सभी तत्व पॉइंटर वेरिएबल का उपयोग करके विषम हैं। तब, "Odd" प्रिंट करें।

चरण 4: जांचें, यदि सरणी के सभी तत्व पॉइंटर वेरिएबल का उपयोग करके सम हैं। तब, "Even" प्रिंट करें।

चरण 5: अन्यथा, "Mixed" प्रिंट करें।

उदाहरण

निम्नलिखित C प्रोग्राम पॉइंटर्स की मदद से उपयोगकर्ता द्वारा दर्ज सरणी का प्रकार ज्ञात करता है:

#include <stdio.h> 
#include <stdlib.h> 
int* createArray(int); 
void readArray(int, int*); 
int findType(int, int*); 
int main(){ 
    int *a, n, c = 0, d = 0; 
    printf("Enter the size of array\n"); 
    scanf("%d", &n); 
    printf("Enter the elements of array\n"); 
    createArray(n); 
    readArray(n, a); 
    findType(n, a); 
    return 0; 
} 
int* createArray(int n){ 
    int *a; 
    a = (int*)malloc(n * sizeof(int)); 
    return a; 
} 
void readArray(int n, int *a){ 
    for(int i = 0; i < n; i++){ 
        scanf("%d", a + i); 
    } 
} 
int findType(int n, int *a){ 
    int c = 0, d = 0; 
    for(int i = 0; i < n; i++){ 
        if(a[i] % 2 == 0){ 
            c++; 
        }else{ 
            d++; 
        } 
    } 
    if(c == n){ 
        printf("The array type is Even\n"); 
    } 
    if(d == n){ 
        printf("The array type is Odd\n"); 
    } 
    if(c != n && d != n){ 
        printf("The array type is Mixed\n"); 
    } 
    return 0; 
}

आउटपुट

Enter the size of array 4 
Enter the elements of array 12 14 16 18 
The array type is Even
  1. C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें? C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें?

    पॉइंटर क्या है? पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का पता स्टोर करता है। निम्नलिखित स्टेटमेंट पर विचार करें: int qty = 179; पॉइंटर घोषित करना पॉइंटर घोषित करने का सिंटैक्स निम्नलिखित है: int *p; यहां, p एक पॉइंटर वेरिएबल है जो दूसरे वेरिएबल का पता रखता है। पॉइंटर का इनिशियलाइज़ेशन एड्रेस ऑपरेटर

  1. C भाषा में लीनियर सर्च का उपयोग करके ऐरे में न्यूनतम एलिमेंट कैसे खोजें? C भाषा में लीनियर सर्च का उपयोग करके ऐरे में न्यूनतम एलिमेंट कैसे खोजें?

    C प्रोग्रामिंग भाषा दो प्रकार की सर्चिंग तकनीक प्रदान करती है: लीनियर सर्च बाइनरी सर्च लीनियर सर्च की एलिमेंट की खोज लीनियर फैशन में की जाती है। यह सबसे सरल सर्चिंग तकनीक है। इसके लिए लिस्ट के सॉर्टेड होने की आवश्यकता नहीं होती। सीमा - यह अधिक समय लेता है और सिस्टम की शक्ति को कम करता है। इनपु

  1. C प्रोग्राम: सरणी के तत्वों का गुणनफल C प्रोग्राम: सरणी के तत्वों का गुणनफल

    समस्या विवरण एक सरणी arr[n] दी गई है, इसके सभी तत्वों का गुणनफल ज्ञात करें। उदाहरण सरणीगुणनफलगणना {10, 20, 3, 4, 8}1920010×20×3×4×8 {1, 2, 3, 4, 3, 2, 1}1441×2×3×4×3×2×1 {5, 0, 10}0शून्य से गुणनफल = 0 एल्गोरिदम result = 1 आरंभ करें प्रत्येक तत्व के लिए: result *= arr[i] result लौटाएं C प्