Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
/*1. Modificaţi exemplul 3 astfel încât să permită obtinerea unui nou punct, avand coordonatele
obtinute prin adunarea coordonatelor a două astfel de puncte. Numele noului punct va fi
rezultat prin concatenarea numelor celor două puncte. Adaugati si testati o metoda care
calculeaza distanta de la un punct la origine. Modificați clasa astfel încât sa eliminați metoda
lungime_sir modificând adecvat metodele clasei. Testati utilizand si functii specifice sirurilor
//Zinveliu Ioana,grupa 4
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include "Header.h"
int main() {
pct2.afis();
CPunctText s;
s.suma(pct1, pct2);
s.afis();
s.dist();
CPunctText t = pct1.suma1(pct2);
t.afis();
#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <cstring>
#include<iostream>
class CPunctText {
int x;
int y;
char* sNume;
public:
//constructor cu parametri
//constructor de copiere
//destructor:
~CPunctText();
void afis() {
}//afis
CPunctText suma1(CPunctText);
void dist();
};
CPunctText::CPunctText() {
lungime_sir = dim_sir;
x = ix;
y = iy;
strcpy(sNume, sText);
x = pct.x;
y = pct.y;
lungime_sir = pct.lungime_sir;
strcpy(sNume, pct.sNume);
CPunctText::~CPunctText() {
delete[] sNume;
x = pct1.x + pct2.x;
y = pct1.y + pct2.y;
strcpy(sNume, pct1.sNume);
strcpy(sNume, pct2.sNume);
CPunctText a;
a.x = x + pct.x;
a.y = y + pct.y;
strcpy(a.sNume, this->sNume);
strcat(a.sNume, pct.sNume);
return a;
}
void CPunctText::dist()
float d;
d = sqrt((float)x * x + y * y);
/*2. Să se scrie o aplicaţie C/C++ care să modeleze obiectual un tablou unidimensional de numere
reale. Creaţi două instanţe ale clasei şi afișați valorile unui al 3-lea tablou, obținute prin
//Zinveliu Ioana,grupa 4
#include<iostream>
class Vector {
private: int n;
int getn()
return n;
void afisare()
void citire()
void setn(int l)
this->n = l;
};
int main()
else n = l2;
v1.setn(l1);
v2.setn(l2);
v3.setn(n);
v1.citire();
v2.citire();
for (int i = 0; i < n; i++)
v3.afisare();
/*3. Modelați clasa Student care să conțină atributele private nume, prenume, note (tablou 7 valori
int), grupa. Alocați dinamic memorie pentru n studenți. Calculați media cu o metoda din clasa
//Zinveliu Ioana,grupa 4
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
class Student {
int note[7];
int grupa;
public:
strcpy(nume, n);
{
strcpy(prenume, n);
void setgrupa(int g)
grupa = g;
void citnote()
char* getnume()
return this->nume;
char* getprenume()
return this->prenume;
float medie()
float s = 0;
s += note[i];
return s / 7;
};
int main()
int n;
cin >> n;
s[i].setnume(nume);
cin >> p;
s[i].setprenume(p);
s[i].citnote();
Student Aux;
*(s + j) = Aux;
cout<<"\n"<<s[i].getnume();
cout<<"\n"<<s[i].getprenume();
/*Să se scrie o aplicaţie C/C++ în care se citeşte de la tastatură un punct prin coordonatele x, y,
z. Să se scrie o metodă prin care să se facă translaţia punctului cu o anumită distanţă pe fiecare
dintre cele trei axe. Să se verifice dacă dreapta care uneşte primul punct şi cel rezultat în urma
*/
//Zinveliu Ioana,grupa 4
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
class Punct {
public:int x, y, z;
Punct()
x = 0;
y = 0;
z = 0;
x = a; y = b; z = c;
}
Punct trans(Punct);
};
Punct Punct::trans(Punct A)
int a, b, c;
Punct B;
cin >> a;
cin >> b;
cin >> c;
B.x = a + A.x;
B.y = b + A.y;
B.z = c + A.z;
return B;
return 1;
else return 0;
Punct C;
C.x = B.x - A.x;
return C;
int main()
Punct X, Y;
int x, y, z, d;
cout << "\nCoordonatele lui X sunt: " << x << " " << y << " " << z;
X= X.trans(X);
cout << "\nCoordonatele lui Y sunt :" << X.x << " " << X.y << " " << X.z;
Y = Y.ec(A, X, d);
if (D.verificare(Y, D, d))
/*6. Definiți o clasă Complex modelată prin atributele de tip double real, imag și un pointer de tip
char către numele fiecărui număr complex. În cadrul clasei definiți un constructor explicit cu
doi parametri care au implicit valoarea 1.0 și care alocă spațiu pentru nume un șir de maxim
Complex. Clasa va mai conține metode mutator/setter și accesor/getter pentru fiecare membru
al clasei, metode care permit operațiile de bază cu numere complexe și un destructor explicit.
Definiți cel mult 10 numere complexe într-un tablou. Calculați suma numerelor complexe din
*/
//Zinveliu Ioana,grupa 4
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
class Complex {
private:
char* nume;
public:
Complex()
strcpy(nume, "c1");
real = 1;
imag = 0;
real = a;
imag = b;
strcpy(nume, nume1);
}
~Complex()
real = 0; imag = 0;
void setR(double a)
real = a;
void setI(double b)
imag = b;
strcpy(nume, nume2);
double getR()
return real;
double getI()
return imag;
char* getN()
return this->nume;
}
Complex suma(Complex, Complex);
};
Complex C;
return C;
Complex C;
return C;
Complex C;
return C;
int main()
Complex N[15];
int n;
double r, im;
cin >> n;
N[i].setR(r);
N[i].setI(im);
Complex S;
S.setR(0);S.setI(0);
S = S.suma(S, N[i]);
cout << "\nSuma este: " << S.getR() << "+" << S.getI() << "*i";
S.setR(N[0].getR());
S.setI(N[0].getI());
S = S.dif(S, N[i]);
cout << "\nDiferenta este: " << S.getR() << "+" << S.getI() << "*i";
S.setR(N[0].getR());
S.setI(N[0].getI());
S = S.prod(S, N[i]);
}
cout << "\nProdusul este: " << S.getR() << "+" << S.getI() << "*i";