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

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

समस्या

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

समाधान

सी प्रोग्रामिंग भाषा में एक ही सरणी में दो हिस्सों में दो ऑपरेशन करने का समाधान नीचे समझाया गया है -

पहली छमाही को आरोही क्रम में क्रमबद्ध करने के लिए उपयोग किया गया तर्क इस प्रकार है -

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 प्रोग्राम लिखें

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

  1. पायथन का उपयोग करके एक सरणी में XOR संचालन करने का कार्यक्रम

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

  1. पायथन प्रोग्राम में दो से अधिक (या सरणी) संख्याओं की GCD

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन हमें संख्या की एक सरणी दी जाएगी और हमें सबसे बड़ा सामान्य भाजक खोजने की आवश्यकता है। यदि हमें दो से अधिक संख्याओं का gcd ज्ञात करने की आवश्यकता है, तो gcd तर्क के रूप में प्रदान की गई सभी संख्याओं के लिए सामान्य अभाज्