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

एकल सरणी में दो हिस्सों पर ऑपरेशन करने के लिए C प्रोग्राम


समस्या

N तत्वों के एक-आयामी सरणी को स्वीकार करने और उसे दो हिस्सों में विभाजित करने के लिए एक प्रोग्राम लिखें। बाद में, पहले आधे को आरोही क्रम में और दूसरे आधे को अवरोही क्रम में सॉर्ट करें।

समाधान

C प्रोग्रामिंग भाषा में एकल सरणी में दो हिस्सों पर दो ऑपरेशन करने का समाधान नीचे बताया गया है:

पहले आधे को आरोही क्रम में सॉर्ट करने के लिए उपयोग की जाने वाली तर्क निम्नानुसार है:

for (i=0; i<b; ++i){    for (j=i+1; j<b; ++j){       if (number[i] > number[j]){          a = number[i];          number[i] = number[j];          number[j] = a;       }    } }

दूसरे आधे को अवरोही क्रम में सॉर्ट करने के लिए उपयोग की जाने वाली तर्क निम्नानुसार है:

for (i=b; i<n; ++i){    for (j=i+1; j<n; ++j){       if (number[i] < number[j]){          a = number[i];          number[i] = number[j];          number[j] = a;       }    } }

सरणी को दो हिस्सों में विभाजित करने और तदनुसार प्रिंट करने के लिए उपयोग की जाने वाली तर्क नीचे दी गई है:

  • आरोही क्रम पहला आधा
for (i=0; i<b; ++i) printf ("%d ",number[i]);
  • अवरोही क्रम दूसरा आधा
for(i=b;i<n;i++) printf("%d ",number[i]);

उदाहरण

निम्नलिखित C प्रोग्राम एकल सरणी में दो हिस्सों पर दो ऑपरेशन करने के लिए है:

#include<stdio.h> void main(){    int i,j,a,n,b,number[30];    printf ("Enter the value of N\n");    scanf ("%d", &n);    b = n/2;    printf ("Enter the numbers \n");    for (i=0; i<n; ++i)       scanf ("%d",&number[i]);       for (i=0; i<b; ++i){          for (j=i+1; j<b; ++j){             if (number[i] > number[j]){                a = number[i];                number[i] = number[j];                number[j] = a;          }       }    }    for (i=b; i<n; ++i){       for (j=i+1; j<n; ++j){          if (number[i] < number[j]){             a = number[i];             number[i] = number[j];             number[j] = a;          }       }    }    printf (" The 1st half numbers\n");    printf (" arranged in asc\n");    for (i=0; i<b; ++i)       printf ("%d ",number[i]);    printf("\nThe 2nd half Numbers\n");    printf("order arranged in desc.order\n");    for(i=b;i<n;i++)       printf("%d ",number[i]); }

आउटपुट

जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है:

Enter the value of N 10 Enter the numbers 20 34 23 11 45 56 78 98 76 54 The 1st half numbers arranged in asc 11 20 23 34 45 The 2nd half Numbers order arranged in desc.order 98 78 76 56 54

  1. C प्रोग्राम: सरणी को उलटें (Reverse Array) C प्रोग्राम: सरणी को उलटें (Reverse Array)

    संबंधित आइटम्स का समूह जो एक सामान्य नाम से संग्रहीत होता है, सरणी कहलाता है। सिंटैक्स datatype array_name[size]; आरंभीकरण घोषणा के समय आरंभीकरण: int a[5] = {10, 20, 30, 40, 50}; C में सरणी उलटना हम स्वैपिंग तकनीक का उपयोग करके सरणी को उलट सकते हैं। उदाहरण: यदि P चार एलिमेंट्स की पूर्णांक सरणी ह

  1. - पायथन का उपयोग करके सरणी में XOR ऑपरेशन करने का प्रोग्राम

    मान लीजिए हमारे पास एक पूर्णांक n और एक अन्य पूर्णांक start है। हमें एक सरणी nums बनानी है जहां nums[i] = start + 2*i (i 0 से शुरू) और n, nums का आकार है। फिर nums के सभी तत्वों का बिटवाइज XOR ढूंढें। उदाहरण के लिए, यदि इनपुट n = 6, start = 2 है, तो आउटपुट 14 होगा क्योंकि सरणी होगी [2+2*0, 2+2*1, ..

  1. पायथन प्रोग्राम: दो से अधिक (या ऐरे) नंबर्स का GCD पायथन प्रोग्राम: दो से अधिक (या ऐरे) नंबर्स का GCD

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट हमें नंबर्स का एक ऐरे दिया जाएगा और हमें ग्रेटेस्ट कॉमन डिवाइजर ढूंढना होगा। यदि हमें दो से अधिक नंबर्स का gcd ढूंढना है, तो gcd उन सभी नंबर्स में कॉमन प्राइम फैक्टर्स के गुणनफल के बराबर होता है जो आर्ग