352
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++ :
- Se citeste n numar natural :
- Sa se verifice daca este palindrom si afisati un mesaj (palindrom este numarul care este egal cu oglinditul sau)
- Sa se determine si sa se afiseze numarul obtinut prin eliminarea tuturor cifrelor pare
- Sa se determine si sa se afiseze produsul cifrelor impare
- Se citesc la tastatura doua numere naturale n si k. Sa se determine si sa se afiseze :
- C.M.M.D.C-ul lor
- C.M.M.M.C-ul lor
- 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