fbpx

Convertirea codului din C++ in C#

0

Salutare dragi prieteni si bun gasit la un nou articol de pe acest website, eu sunt Catalin si astazi vreau sa va prezint convertirea codului din C++ in C#. In primul rand vreau sa va spun ca in acest tutorial am decis sa ma leg strict de instructiunea while (pentru a nu va induce in eroare cu tot felul de chestii, in esenta convertirea este aceeasi).

O sa scriu cateva cerinte pe care le voi rezolva mai jos in C++ :

  1. Se citeste n numar natural :
    1. Sa se verifice daca este palindrom si afisati un mesaj (palindrom este numarul care este egal cu oglinditul sau)
    2. Sa se determine si sa se afiseze numarul obtinut prin eliminarea tuturor cifrelor pare
    3. Sa se determine si sa se afiseze produsul cifrelor impare
  2. Se citesc la tastatura doua numere naturale si k. Sa se determine si sa se afiseze :
    1. C.M.M.D.C-ul lor
    2. C.M.M.M.C-ul lor
    3. Sa se verifice daca acestea sunt prime intre ele (folosi proprietatea C.M.M.M.C = 1)

Rezolvare in C++ :

1) a)

#include <iostream>
using namespace std;
int main()
{
    int n,m,o=0,p;
    cout<<"n="; cin>>n; m=n;  
    //ii facem oglinditul
    while(n!=0)
    {
        p=n%10;
        o=o*10+p;
        n=n/10;
    }
    //verificam daca numarul stocat este egal cu oglinditul
    if(o==m)
        cout<<"numarul este palindrom";
    else
        cout<<"numarul nu este palindrom";
    return 0;
}
1) b)

#include <iostream>
using namespace std;
int main()
{
    int n,o=0,p;
    cout<<"n="; cin>>n;
    while(n!=0)
    {
        p=n%10;
        if(p%2 != 0)
            o=o*10+p;
        n=n/10;
    }
    cout<<o;
    return 0;
}
1) c)

#include <iostream>
using namespace std;
int main()
{
    int n,c,p=1;
    cout<<"n="; cin>>n;  
    while(n!=0)
    {
        c=n%10;
        if(c%2 == 1)
            p=p*c;
        n=n/10;
    }
    cout<<p;
    return 0;
}
2) a) METODA LUI EUCLID

#include <iostream>
using namespace std;
int main()
{
    int n,k,r;
    cout<<"n="; cin>>n;  
    cout<<"k="; cin>>k; 
    while(n!=k)
    {
        r=n%k;
        n=k;
        k=r;
    }
    cout<<"C.M.M.D.C-ul numerelor este: "<<n;
    return 0;
}
2) b)

#include <iostream>
using namespace std;
int main()
{
    int n,k,p,cmmmc;
    cout<<"n="; cin>>n; 
    cout<<"k="; cin>>k;
    p=n*k; 
    while(n!=k)
    {
        if(n>k)
            n=n-k;
        else
            k=k-n;
    }
    cmmmc=p/k;
    cout<<"C.M.M.M.C-ul numerelor este: "<<cmmmc;
    return 0;
}
2) c)

#include <iostream>
using namespace std;
int main()
{
    int n,k;
    cout<<"n="; cin>>n; 
    cout<<"k="; cin>>k; 
    while(n!=k)
    {
        if(n>k)
            n=n-k;
        else
            k=k-n;
    }
    if(n==1)
        cout<<"Numerele sunt prime intre ele";
    else
        cout<<"Numerele nu sunt prime intre ele";
    return 0;
}

 

Rezolvare in C#:

1) a)

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, m, o = 0, p;
            Console.Write("Introduceti numarul n = ");
            n = int.Parse(Console.ReadLine());
            m = n;
            while (n != 0)
            {
                p = n % 10;
                o = o * 10 + p;
                n = n / 10;
            }
            //verificam daca numarul stocat este egal cu oglinditul
            if (o == m)
                Console.Write("numarul este palindrom");
            else
                Console.Write("numarul nu este palindrom");
            Console.ReadKey();
        }
    }
}
1) b)

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, o = 0, p;
            Console.Write("Introduceti numarul n = ");
            n = int.Parse(Console.ReadLine());
            while (n != 0)
            {
                p = n % 10;
                if (p % 2 != 0)
                    o = o * 10 + p;
                n = n / 10;
            }
            Console.Write("Dupa eliminarea tuturor cifrelor pare numarul este: o = {0}", o);
            Console.ReadKey();
        }
    }
}
1) c)

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, c, p = 1;
            Console.Write("Introduceti numarul n = ");
            n = int.Parse(Console.ReadLine());
            while (n != 0)
            {
                c = n % 10;
                if (c % 2 == 1)
                    p = p * c;
                n = n / 10;
            }
            Console.Write("Produsul cifrelor impare este: p = {0}", p);
            Console.ReadKey();
        }
    }
}
2) a)

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, k, r;
            Console.Write("Introduceti numarul n = ");
            n = int.Parse(Console.ReadLine());
            Console.Write("Introduceti numarul k = ");
            k = int.Parse(Console.ReadLine());
            while (k != 0)
            {
                r = n % k;
                n = k;
                k = r;
            }
            Console.Write("C.M.M.D.C-ul numerelor este: n = {0}", n);
            Console.Write("\n");
            Console.Write("A FOST FOLOSITA METODA LUI EUCLID");
            Console.ReadKey();
        }
    }
}
2) b)

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, k, p, cmmmc;
            Console.Write("Introduceti numarul n = ");
            n = int.Parse(Console.ReadLine());
            Console.Write("Introduceti numarul k = ");
            k = int.Parse(Console.ReadLine());
            p = n * k;
            while (n != k)
            {
                if (n > k)
                    n = n - k;
                else
                    k = k - n;
            }
            cmmmc = p / k;
            Console.Write("C.M.M.M.C-ul numerelor este: cmmmc = {0}", cmmmc);
            Console.ReadKey();
        }
    }
}
2) c)

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, k;
            Console.Write("Introduceti numarul n = ");
            n = int.Parse(Console.ReadLine());
            Console.Write("Introduceti numarul k = ");
            k = int.Parse(Console.ReadLine());
            while (n != k)
            {
                if (n > k)
                    n = n - k;
                else
                    k = k - n;
            }
            if (n == 1)
                Console.Write("Numerele sunt prime intre ele");
            else
                Console.Write("Numerele nu sunt prime intre ele");
            Console.ReadKey();
        }
    }
}

 

Tin sa multumesc: Dragotoniu Corina pentru rezolvarea in cod C++ a catorva supuncte ! Pentru orice intrebare/eroare , nu ezitati sa ma contactati !

Comentarii
Se incarca comentariile...

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More