Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Laborator 2.

C++

#include <iostream>

using namespace std;

class rational
{
private:
int n, d;

public:
void set(int a, int a1)
{
n = a;
d = a1;
}
int getNumarator()
{
return n;
}

int getNumitor()
{
return d;
}
void add(rational u1, rational u2)
{
n = u1.n * u2.d + u2.n * u1.d;
d = u1.d * u2.d;
}
};

void SumaNumerelorRationale()
{
int n, snumarator = 0, snumitor = 0, i, j, numarator, numitor;
rational obj[500];
rational obj2;
cout << "numere rationale n= ";
cin >> n;
for (i = 0; i < n; i++)
{
cout << "[" << i << "] "
<< "Numarator: ";
cin >> numarator;
cout << "[" << i << "] "
<< "Numitor: ";
cin >> numitor;
obj[i].set(numarator, numitor);
}

for (j = 0; j < n - 1; j++)


{
if (j == n - 2 && n % j == 0)
{
snumarator += obj2.getNumarator();
snumitor += obj2.getNumitor();
break;
}

obj2.add(obj[j], obj[j + 1]);


snumarator += obj2.getNumarator();
snumitor += obj2.getNumitor();
}

cout << "Suma numerelor rationale = " << snumarator << "/" << snumitor << endl;
}

void N_NumereReale()
{
int n, s = 0, x, i;
cout << "n= ";
cin >> n;
for (i = 1; i <= n; i++)
{
cin >> x;
s += x;
}
cout << "Suma numerelor reale este: " << s << endl;
}

int main()
{
// N_NumereReale(); // prima problema
SumaNumerelorRationale(); // a doua problema
}

Python
import math

class rational:

def __init__(self):
self.__n = 0
self.__d = 0

def set(self, a, a1):


self.__n = a
self.__d = a1
def getNumarator(self):
return self.__n

def getNumitor(self):
return self.__d
def add(self, u1, u2):
self.__n = u1.__n * u2.__d + u2.__n * u1.__d
self.__d = u1.__d * u2.__d

def main():
class Globals:
def SumaNumerelorRationale(self):
n = None
snumarator = 0
snumitor = 0
i = None
j = None
numarator = None
numitor = None
obj = [rational() for _ in range(500)]
obj2 = rational()
print("numere rationale n= ", end = '')
n=int(input("n"))
for i in range(0, n):
print("[", end = '')
print(i, end = '')
print("] ", end = '')
print("Numarator: ", end = '')
numarator=input("numarator")
print("[", end = '')
print(i, end = '')
print("] ", end = '')
print("Numitor: ", end = '')
numitor=input("numitor")
obj[i].set(numarator, numitor)

j = 0
while j < n - 1:
if j == n - 2 and math.fmod(n, j) == 0:
snumarator += obj2.getNumarator()
snumitor += obj2.getNumitor()
break

obj2.add(obj[j], obj[j + 1])


snumarator += obj2.getNumarator()
snumitor += obj2.getNumitor()
j += 1

print("Suma numerelor rationale = ", end = '')


print(snumarator, end = '')
print("/", end = '')
print(snumitor, end = '')
print("\n", end = '')

@staticmethod
def N_NumereReale():
n = None
s = 0
x = None
i = None
print("n= ", end = '')
n=input("n")
for i in range(1, n + 1):
x=input("x")
s += x
print("Suma numerelor reale este: ", end = '')
print(s, end = '')
print("\n", end = '')

if __name__ == "__main__":
main()

You might also like