static void Main(string[] args)
{
    int m, count = 0;

    Console.WriteLine("Enter the Limit : ");
    m = int.Parse(Console.ReadLine());

    int[] a = new int[m];
    Console.WriteLine("Enter the Numbers :");

    for (int i = 0; i < m; i++)
    {
        a[i] = Convert.ToInt32(Console.ReadLine());
    }

    foreach (int o in a)
    {
        if (o == 1)
        {
            count++;
        }
    }

    Console.WriteLine("Number of 1s in the Entered Number : "+count);
    Console.ReadLine();
}

यहां प्रत्येक मान को सरणी में प्राप्त करें, और जांचें कि प्रत्येक मान एक के बराबर नहीं है। लेकिन मुझे सरणी का उपयोग किए बिना इस कार्य की आवश्यकता है। क्या आप कृपया हमारी मदद कर सकते हैं।

0
Ramana 15 फरवरी 2017, 15:13
3
"सरणी का उपयोग किए बिना" आपका क्या मतलब है? आप और कैसे कल्पना करते हैं कि यह आपके मामले में काम करेगा? संग्रह (सरणी, सूची इत्यादि) के अलावा, आप इनपुट कहां स्टोर करेंगे। आपका यहाँ वास्तव में क्या मुद्दा है?
 – 
rory.ap
15 फरवरी 2017, 15:14
2
क्या आप खुश हैं यदि हम आपको एक सूची समाधान दिखाते हैं?
 – 
Tim Schmelter
15 फरवरी 2017, 15:19
आपका प्रश्न बहुत अस्पष्ट है। आपके GUI में उपयोगकर्ता m अलग-अलग नंबर दर्ज कर सकता है, उदाहरण के लिए 1 लेकिन 12 या 111 भी। तो केवल एक एकल संख्या के साथ भी 1 की संख्या कहीं अधिक हो सकती है 1. तो क्या आप सभी 1 को सभी संख्याएं, या उपयोगकर्ता को प्रति संख्या केवल एक अंक दर्ज करने तक सीमित करें, जिसका अर्थ केवल 0 से 9 तक की संख्याएं हैं? दूसरे शब्दों में: क्या होता है यदि आपका उपयोगकर्ता 2 के लिए m और फिर 1234 और 1111 वास्तविक संख्याओं के लिए प्रवेश करता है? क्या आउटपुट 2 या 5 होगा?
 – 
HimBromBeere
15 फरवरी 2017, 15:21

5 जवाब

दर्ज किए जाने पर बस इनपुट की जांच करें, इसे संग्रहीत किए बिना:

static void Main(string[] args)
{
            int m, count = 0;

            Console.WriteLine("Enter the Limit : ");
            m = int.Parse(Console.ReadLine());

            Console.WriteLine("Enter the Numbers :");

            for (int i = 0; i < m; i++)
            {
              if(Console.ReadLine() == "1")
                 count++;
            }

            Console.WriteLine("Number of 1's in the Entered Number : "+count);

            Console.ReadLine();
}
4
Serge 15 फरवरी 2017, 15:16

आप बस एक गिनती रख सकते हैं जहाँ आप इसे सरणी में जोड़ते हैं

        int m, count = 0;
        Console.WriteLine("Enter the Limit : ");
        m = int.Parse(Console.ReadLine());
        Console.WriteLine("Enter the Numbers :");
        for (int i = 0; i < m; i++)
        {
           count += Console.ReadLine() == "1" ? 1 : 0;
        }

        Console.WriteLine("Number of 1's in the Entered Number : "+count);

        Console.ReadLine();
3
David Pilkington 15 फरवरी 2017, 15:15

आप LINQ का उपयोग कर सकते हैं और for लूप और साथ ही सरणी को हटा सकते हैं।

Console.WriteLine("Enter the Limit : ");
int m = int.Parse(Console.ReadLine());

Console.WriteLine("Enter the Numbers :");

int count =
    Enumerable
        .Range(0, m)
        .Select(n => Console.ReadLine())
        .Where(x => x == "1")
        .Count();

Console.WriteLine("Number of 1's in the Entered Number : " + count);

Console.ReadLine();
0
Enigmativity 15 फरवरी 2017, 15:43

मैं अधिक सार्थक चर नामों का उपयोग करने और Convert.ToInt32 के बजाय इनपुट सत्यापन Int32.TryParse जोड़ने की सलाह दूंगा।

बस पहले for में if (o == 1) चेक इन करें और दूसरे को भूल जाएं।

-1
bradbury9 15 फरवरी 2017, 15:22

आप सरणी के बजाय सूची का उपयोग कर सकते हैं। कोड यहाँ है

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NumberofOnes
{
    public class Program
    {
        static void Main(string[] args)
        {
            int m, count = 0;
            Console.WriteLine("Enter the Limit : ");
            m = int.Parse(Console.ReadLine());
            List<int> a = new List<int>();

            Console.WriteLine("Enter the Numbers :");
            for (int i = 0; i < m; i++)
            {
                a.Add( Convert.ToInt32(Console.ReadLine()));
            }
            foreach (int o in a)
            {
                if (o == 1)
                {
                    count++;
                }
            }
            Console.WriteLine("Number of 1's in the Entered Number : " + count);

            Console.ReadLine();

        }
    }
}
-1
Ranjith A Francis 15 फरवरी 2017, 15:28