Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Intersectia a doua multimi

Sa se calculeze intersectia a două multimi de numere reale reprezentate cu ajutorul vectorilor.

Analiza Programului

Intersectia a doua multimi, A si B,(A ∩ B), reprezinta multimea tuturor elementelor care sunt membri comuni.

using System;

namespace _40
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, m, pos = 0;
            bool empty = true;
            //numarul maxim de elemente pentru prima multime
            Console.WriteLine("Introduceti cardinalitatea primei multimi:");
            n = int.Parse(Console.ReadLine());
            //numarul maxim de elemente pentru a doua multime
            Console.WriteLine("Introduceti cardinalitatea celei de a doua multimi:");
            m = int.Parse(Console.ReadLine());
            //declararea celor doua vectori
            float[] a = new float[n];
            float[] b = new float[m];
            //elementele din prima multime
            Console.WriteLine("Introduceti elementele primei multimi:");
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("A[{0}]=", i);
                a[i] = float.Parse(Console.ReadLine());
            }
            //elementele din a doua multime
            Console.WriteLine("Introduceti elementele celei de a doua multimi:");
            for (int i = 0; i < m; i++)
            {
                Console.WriteLine("B[{0}]=", i);
                b[i] = float.Parse(Console.ReadLine());
            }
            int p = Math.Min(n,m);
            //vectorul care va contine elementele comune va avea 
            //ca numar maxim de elemente minimul de elemente dintre cele doua multimi
            float[] intersection = new float[p];
            
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    if (a[i] == b[j])
                    {
                        intersection[pos] = a[i];
                        pos++;
                        empty = false;
                    }
                }
            }
            Console.WriteLine("Rezultatul intersectiei:");
            if (empty)
                Console.WriteLine("Multimea vida");
            else
            {
                for (int i = 0; i < pos; i++)
                    Console.WriteLine("{0}", intersection[i]);
            }

            Console.Read();
        }
    }
}
Category: Uncategorized

Your email address will not be published. Required fields are marked *

*