joi, 22 octombrie 2015

C# 5 directiva de compilare #define




#define nstatic
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PatratePerfecte
{
    class Program
    {
        /* citeste n numere intregi intr-un tablou
        afiseaza patratele perfecte
        citeste un numar k
        afiseaza indicele tabloului al carui element este egal cu k
        */
        static int  k;
#if nstatic
static int n;  //daca simbolul nstatic este definit, se va complila aceasta //instrutiune cuprinsa intre #if si #endif
#endif
        string s;
        static void Main(string[] args)
        {
            Console.Write("numarul de elemente=");
            n =int.Parse(Console.ReadLine());

            int[] vec = new int[n];
            for(int i=0;i< n;i++)
            {
                Console.Write("vec[{0}]=", i);
                vec[i]=int.Parse(Console.ReadLine());
            }
            foreach (int x in vec) Console.Write("{0} ", x);
            Console.WriteLine("Patratele perfecte:");
            foreach (int x in vec)
                if (perfect(x)) Console.WriteLine("{0}", x);
            Console.Write("numarul k=");
            k = int.Parse(Console.ReadLine());
            for(int i=0;i< n;i++)
            {
                if (vec[i] == k) Console.WriteLine("valoarea {0} se afla pe pozitia {1} din tablou", k, i+1);
            }
            Console.ReadKey();
        }
        static bool perfect(int n)
        {
            for(int i=2;i<=n/2;i++)
            {
                if (n == i * i) return true;
            }
            return false;
        }
    }
}

Niciun comentariu:

Trimiteți un comentariu