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

C . में दिए गए N भिन्नों का कम रूप में गुणनफल

एन अंशों के अंश संख्या और हर को देखते हुए, कार्य उत्पाद एन अंशों को खोजना है और आउटपुट कम रूप में होना चाहिए।

जैसे नीचे दी गई आकृति में हमारे पास दो भिन्न "4/5" और "3/4" है, हमने उन दो गुटों का गुणनफल पाया है जहां पहले के अंश को दूसरे के अंश से गुणा किया जाता है और पहले के हर को गुणा किया जाता है। दूसरे का भाजक। अब अंतिम परिणाम "12/20" है जिसे कम किया जा सकता है इसलिए आउटपुट "3/5" होगा इसी तरह हमें दी गई समस्या को हल करने के लिए एक प्रोग्राम विकसित करना होगा।

C . में दिए गए N भिन्नों का कम रूप में गुणनफल

इनपुट

fraction f[3] = {{1,2},
{2,1},
{5,6}}

आउटपुट

5/6

स्पष्टीकरण − 1/2 * 2/1 * 5/6 =10/12 ताकि हम इसे 5/6 के रूप में कम कर सकें।

इनपुट

fraction f[2] = {{2, 3},
{1,4}}

आउटपुट

1/6

स्पष्टीकरण − 2/3 * 1/4 =2/12 जिसे 1/6 के रूप में घटाया जा सकता है

समस्या को हल करने के लिए नीचे उपयोग किया गया दृष्टिकोण इस प्रकार है

उपरोक्त समस्या को हल करने के लिए हम सभी हर और अंश का उत्पाद कर सकते हैं, परिणाम को अन्य चर prod_den और prod_num में संग्रहीत कर सकते हैं जो क्रमशः अंतिम हर और अंतिम अंश होगा, अब हमें कम किया गया रूप खोजना होगा, इसके लिए हमें GCD खोजना होगा (सबसे बड़ा सामान्य भाजक) prod_num और prod_den का और prod_num और prod_den को उनके संबंधित GCD से विभाजित करें।

एल्गोरिदम

Start
Declare a struct fraction with following elements
   1. num, 2. den
In function int GCD(int a, int b)
   Step 1→ If a == 0 then,
      Return b
   Step 2→ Return GCD(b % a, a)
In function int product(int n, fraction f[])
   Step 1→ Initialize prod_num = 1 prod_den = 1
   Step 2→ Loop For i = 0; i < n; i++
      prod_num = prod_num * f[i].num
      prod_den = prod_den * f[i].den
   Step 3→ Declare and initialize gcd = GCD(prod_num, prod_den)
   Step 4→ prod_num = prod_num / gcd
   Step 5→ prod_den = prod_den / gcd
   Step 6→ Print prod_num, prod_den
In Function int main()
   Step 1→ Declare struct fraction f[3] = {
      {1,2},
      {2,1},
      {5,6}}
   Step 2→ Declare and initialization n as sizeof(f)/sizeof(f[0])
   Step 3→ product(n, f)
Stop

उदाहरण

#include <stdio.h>
struct fraction{
   int num;
   int den;
};
// Function to return gcd of a and b
int GCD(int a, int b){
   if (a == 0)
      return b;
   return GCD(b % a, a);
}
//fucntion to print the result
int product(int n, fraction f[]){
   int prod_num = 1, prod_den = 1;
   // finding the product of all N
   // numerators and denominators.
   for (int i = 0; i < n; i++) {
      prod_num *= f[i].num;
      prod_den *= f[i].den;
   }
   // Finding GCD of new numerator and
   // denominator
   int gcd = GCD(prod_num, prod_den);
   // finding reduced form
   prod_num /= gcd;
   prod_den /= gcd;
   printf("%d/%d\n", prod_num, prod_den);
   return 0;
}
int main(){
   struct fraction f[3] = {
      {1,2},
      {2,1},
      {5,6}};
   int n = sizeof(f)/sizeof(f[0]);
   product(n, f);
   return 0;
}

आउटपुट

यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -

5/6

  1. सी . में पहली सरणी में अधिकतम और दूसरे में न्यूनतम का उत्पाद

    दो सरणियों arr1[] और arr2[] क्रमशः कुछ आकार n1 और n2 को देखते हुए, हमें पहली सरणी arr1[] के अधिकतम तत्व और दूसरे के न्यूनतम तत्व का गुणनफल खोजना होगा सरणी arr2 []। जैसे हमारे पास arr1 [] ={5, 1, 6, 8, 9} और arr2 [] ={2, 9, 8, 5, 3} में तत्व हैं, इसलिए arr1 में अधिकतम तत्व 9 है और न्यूनतम तत्व में ह

  1. सरणी के उत्पाद के लिए सी कार्यक्रम

    n तत्वों की एक सरणी गिरफ्तारी [n] को देखते हुए, कार्य उस सरणी के सभी तत्वों के गुणनफल को खोजना है। जैसे हमारे पास 7 तत्वों की एक सरणी गिरफ्तारी [7] है, इसलिए इसका उत्पाद इस तरह होगा उदाहरण Input: arr[] = { 10, 20, 3, 4, 8 } Output: 19200 Explanation: 10 x 20 x 3 x 4 x 8 = 19200 Input: arr[] = { 1

  1. जांचें कि दिए गए उत्पाद के साथ एक जोड़ी सी ++ में मैट्रिक्स में मौजूद है या नहीं

    हमारे पास ऑर्डर एन एक्स एम का एक मैट्रिक्स है और एक उत्पाद के। कार्य यह जांचना है कि दिए गए उत्पाद के साथ एक जोड़ी मैट्रिक्स में मौजूद है या नहीं। मान लीजिए कि एक मैट्रिक्स नीचे जैसा है - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 अब यदि K 42 है, तो एक जोड़ी है जैसे (6, 7) इस समस्या को हल करने