Sunteți pe pagina 1din 5

Ministerul Educației, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică și Microelectronică
Departamentul Microelectronică și Inginerie Biomedicală

Raport
la lucrarea de laborator nr. 6

Tema: Templates: Template pentru clase şi funcţii.

Disciplina: Programarea orientată pe obiecte

A efectuat:

A verificat: lector.univ. Plotnic Constantin

Chișinău – 2017
Scopul lucrării: familiarizarea studenţilor cu clase şi funcţii generice.

Sarcina:
Varianta 7:
Să se scrie un program care implimentează o clasă generică și realizează algoritmul de sortare:
Quick Sort [partitionare]

Listing-ul programului:
#include <iostream>
#include <cstdlib>

using namespace std;

template<class Tip> class Heap_Sort {


private:
int n;
Tip *a;
public:

Heap_Sort() {}

void add() {
cout << "\t\tIntrodu nr de elemente al sirului:";
cin >> n;
a = new Tip[n];
for (int i = 0; i < n; i++) {
cout << "\t\tIntrodu elementul " << i + 1 << ": ";
cin >> a[i];
}
}

void add_rand() {
cout << "\t\tIntrodu nr de elemente al sirului:";
cin >> n;
a = new Tip[n];
for (int i = 0; i < n; i++) {
a[i] = 50 - rand()%100;
}
}

void add_rand_f() {
cout << "\t\tIntrodu nr de elemente al sirului:";
cin >> n;
a = new Tip[n];
for (int i = 0; i < n; i++) {
a[i] = 500 - rand() % 1000;
a[i] /= 100;
}
}

void sortselect()
{
int i, k, locmin;
Tip min;
for (k = 0; k < n - 1; k++)
{
min = a[k];
locmin = k;
for (i = k + 1; i < n; i++)
if (a[i]<min)
{
min = a[i];
locmin = i;
}
a[locmin] = a[k];
a[k] = min;
}
}

void afis() {
cout << "\n\t\tSortarea :" << endl;
cout << "\t\t\tSir = { ";
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << "}" << endl;
}
};

int main() {
int t,f;
Heap_Sort <int> S;
Heap_Sort <float> F;

while (1) {

system("cls");
cout << "\t+--------------------------------+" << endl;
cout << "\t|\t Meniu \t |" << endl;
cout << "\t|\t |" << endl;
cout << "\t|\t1.Creare sir manual\t |" << endl;
cout << "\t|\t2.Creare sir random\t |" << endl;
cout << "\t|\t0.Esire\t\t\t |" << endl;
cout << "\t+--------------------------------+" << endl;
cout << "\n\t Sarcina: ";
cin >> t;

switch (t) {
case 1: {
system("cls");
cout << "\t+--------------------------------+" << endl;
cout << "\t|\t |" << endl;
cout << "\t|\tAlegeti tipul sirului\t |" << endl;
cout << "\t|\t1.Intreg (int)\t\t |" << endl;
cout << "\t|\t2.Real (float)\t\t |" << endl;
cout << "\t+--------------------------------+" << endl;
cout << "\n\t Tipul: ";
cin >> t;
switch (t) {
case 1: {
Heap_Sort <int> S;
S.add();
S.sortselect();
S.afis();
cout << "\n\t\t* Tasteaza '1' pentru a continua sau '0' pentru iesire : "; cin >> f;
if (f)
break;
else
return EXIT_SUCCESS;
}
case 2: {
Heap_Sort <float> F;
F.add();
F.sortselect();
F.afis();
cout << "\n\t\t* Tasteaza '1' pentru a continua sau '0' pentru iesire : "; cin >> f;
if (f)
break;
else
return EXIT_SUCCESS;
}
default: {
cout << "\n\t\t* Optiune introdusa incorect !" << endl;
cout << "\n\t\t* Tasteaza '1' pentru a continua sau '0' pentru iesire : "; cin >> f;
if (f)
break;
else
return EXIT_SUCCESS;
}
}
break;
}

case 2: {
system("cls");
cout << "\t+--------------------------------+" << endl;
cout << "\t|\t |" << endl;
cout << "\t|\tAlegeti tipul sirului\t |" << endl;
cout << "\t|\t1.Intreg (int)\t\t |" << endl;
cout << "\t|\t2.Real (float)\t\t |" << endl;
cout << "\t+--------------------------------+" << endl;
cout << "\n\t Tipul: ";
cin >> t;
switch (t) {
case 1: {
Heap_Sort <int> S;
S.add_rand();
S.sortselect();
S.afis();
cout << "\n\t\t* Tasteaza '1' pentru a continua sau '0' pentru iesire : "; cin >> f;
if (f)
break;
else
return EXIT_SUCCESS;
}
case 2: {
Heap_Sort <float> F;
F.add_rand_f();
F.sortselect();
F.afis();
cout << "\n\t\t* Tasteaza '1' pentru a continua sau '0' pentru iesire : "; cin >> f;
if (f)
break;
else
return EXIT_SUCCESS;
}
default: {
cout << "\n\t\t* Optiune introdusa incorect !" << endl;
cout << "\n\t\t* Tasteaza '1' pentru a continua sau '0' pentru iesire : "; cin >> f;
if (f)
break;
else
return EXIT_SUCCESS;
}
}
break;
}
case 0: {
return EXIT_SUCCESS;
}

default: {
cout << "\n\t\t* Optiune introdusa incorect !" << endl;
cout << "\n\t\t* Tasteaza '1' pentru a continua sau '0' pentru iesire : "; cin >> f;
if (f)
break;
else
return EXIT_SUCCESS;
}
}
}
}
Rezultatele programului:

S-ar putea să vă placă și

  • Lab7 POO
    Lab7 POO
    Document10 pagini
    Lab7 POO
    Grosu Elena
    Încă nu există evaluări
  • Raport: La Disciplina Metode Și Modele de Calcul 1
    Raport: La Disciplina Metode Și Modele de Calcul 1
    Document9 pagini
    Raport: La Disciplina Metode Și Modele de Calcul 1
    Anya Mr
    Încă nu există evaluări
  • Laborator-2mmc Balan Ion
    Laborator-2mmc Balan Ion
    Document12 pagini
    Laborator-2mmc Balan Ion
    Ion Bn
    Încă nu există evaluări
  • MMC Lab2
    MMC Lab2
    Document6 pagini
    MMC Lab2
    Mihail Boran
    Încă nu există evaluări
  • Evaluarea 1 TSSS, Varianta 2
    Evaluarea 1 TSSS, Varianta 2
    Document2 pagini
    Evaluarea 1 TSSS, Varianta 2
    Alex Tronciu
    Încă nu există evaluări
  • Lab 7 Cazacu POO
    Lab 7 Cazacu POO
    Document8 pagini
    Lab 7 Cazacu POO
    Iura Cazacu
    Încă nu există evaluări
  • Lab MMC2
    Lab MMC2
    Document5 pagini
    Lab MMC2
    Maxim
    Încă nu există evaluări
  • POO Lab7
    POO Lab7
    Document6 pagini
    POO Lab7
    Dani Ela
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document10 pagini
    Lab 1
    Ion Cornea
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document4 pagini
    Lab 6
    Егор Казаков
    Încă nu există evaluări
  • Laborator nr.3 POO
    Laborator nr.3 POO
    Document6 pagini
    Laborator nr.3 POO
    MARYAN Pătru
    Încă nu există evaluări
  • POO1-varianta 3
    POO1-varianta 3
    Document5 pagini
    POO1-varianta 3
    Octavian Lucaș
    Încă nu există evaluări
  • Lab 2 MMC Boj
    Lab 2 MMC Boj
    Document12 pagini
    Lab 2 MMC Boj
    Andrian Brinzan
    Încă nu există evaluări
  • Grafica Laborator Nr.3
    Grafica Laborator Nr.3
    Document5 pagini
    Grafica Laborator Nr.3
    Cebotari Ion
    100% (2)
  • Lab1 Apa
    Lab1 Apa
    Document15 pagini
    Lab1 Apa
    SlavicCaldare
    Încă nu există evaluări
  • Lab 4 MN
    Lab 4 MN
    Document3 pagini
    Lab 4 MN
    nn nnn
    Încă nu există evaluări
  • Laborator-3 MMC
    Laborator-3 MMC
    Document4 pagini
    Laborator-3 MMC
    Dan
    Încă nu există evaluări
  • Laborator 1 C
    Laborator 1 C
    Document17 pagini
    Laborator 1 C
    Dorin Graur
    Încă nu există evaluări
  • Lab 6 Poo
    Lab 6 Poo
    Document5 pagini
    Lab 6 Poo
    Alex Tronciu
    Încă nu există evaluări
  • Asdn Lab 1 Rotari Viorel
    Asdn Lab 1 Rotari Viorel
    Document7 pagini
    Asdn Lab 1 Rotari Viorel
    ViorelRotari
    Încă nu există evaluări
  • Lab1 Po
    Lab1 Po
    Document7 pagini
    Lab1 Po
    Alina Axenti
    Încă nu există evaluări
  • Sofroni Maxim Ai-211 MN Lab3
    Sofroni Maxim Ai-211 MN Lab3
    Document7 pagini
    Sofroni Maxim Ai-211 MN Lab3
    Максим Софрони
    Încă nu există evaluări
  • Laborator nr6 CDE
    Laborator nr6 CDE
    Document5 pagini
    Laborator nr6 CDE
    Vlad Racu
    Încă nu există evaluări
  • Lab.4 FC
    Lab.4 FC
    Document6 pagini
    Lab.4 FC
    Cristina Florea
    Încă nu există evaluări
  • Laborator Porgramarea Calculatoarelor 3
    Laborator Porgramarea Calculatoarelor 3
    Document3 pagini
    Laborator Porgramarea Calculatoarelor 3
    Sergiu Lungu
    Încă nu există evaluări
  • Laboratorul Nr.1
    Laboratorul Nr.1
    Document9 pagini
    Laboratorul Nr.1
    Георгий 98
    Încă nu există evaluări
  • MMC Lab3 Rap
    MMC Lab3 Rap
    Document4 pagini
    MMC Lab3 Rap
    I LOVE ME
    Încă nu există evaluări
  • Asdn2 Lab5
    Asdn2 Lab5
    Document4 pagini
    Asdn2 Lab5
    Жан Ганган
    Încă nu există evaluări
  • Lucrarea de Laborator NR 4 POO
    Lucrarea de Laborator NR 4 POO
    Document10 pagini
    Lucrarea de Laborator NR 4 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Laboratorul 6.CDE
    Laboratorul 6.CDE
    Document5 pagini
    Laboratorul 6.CDE
    Staver Natalia
    Încă nu există evaluări
  • Lucrare de Laborator nr.2.
    Lucrare de Laborator nr.2.
    Document8 pagini
    Lucrare de Laborator nr.2.
    ionperu
    100% (2)
  • Lab1 2mmc
    Lab1 2mmc
    Document10 pagini
    Lab1 2mmc
    Artur Kingsman
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document5 pagini
    Lab 4
    cristian
    Încă nu există evaluări
  • Laborator 3 Croitoru Tudor
    Laborator 3 Croitoru Tudor
    Document8 pagini
    Laborator 3 Croitoru Tudor
    DorelDjj
    Încă nu există evaluări
  • Laborator-I MMC
    Laborator-I MMC
    Document7 pagini
    Laborator-I MMC
    Ion Bn
    Încă nu există evaluări
  • Lab 2 Apa
    Lab 2 Apa
    Document12 pagini
    Lab 2 Apa
    Artur Kingsman
    Încă nu există evaluări
  • Lab NR 4 MMC2 Duca Dumitru TI 194
    Lab NR 4 MMC2 Duca Dumitru TI 194
    Document11 pagini
    Lab NR 4 MMC2 Duca Dumitru TI 194
    Santa Claus
    Încă nu există evaluări
  • Lab 2 POO AI-191
    Lab 2 POO AI-191
    Document8 pagini
    Lab 2 POO AI-191
    Carolin
    Încă nu există evaluări
  • ASDN Lucrarea Individuala, Galusca Sergiu
    ASDN Lucrarea Individuala, Galusca Sergiu
    Document10 pagini
    ASDN Lucrarea Individuala, Galusca Sergiu
    Sergiu Gl
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document10 pagini
    Lab 1
    rosca9doinita
    Încă nu există evaluări
  • Lab2 MN CR-212 V14
    Lab2 MN CR-212 V14
    Document8 pagini
    Lab2 MN CR-212 V14
    Tabureanu Marian
    Încă nu există evaluări
  • Grafica Laborator Nr.2
    Grafica Laborator Nr.2
    Document8 pagini
    Grafica Laborator Nr.2
    Cebotari Ion
    100% (1)
  • Programarea Avansata
    Programarea Avansata
    Document8 pagini
    Programarea Avansata
    iry_piry
    Încă nu există evaluări
  • Lab 4 Apa
    Lab 4 Apa
    Document21 pagini
    Lab 4 Apa
    crismaruion
    Încă nu există evaluări
  • Raport 5 CDE
    Raport 5 CDE
    Document7 pagini
    Raport 5 CDE
    crismaruion
    Încă nu există evaluări
  • Rezolvarea Numerica A Sistemelor de Ecuatii Liniare
    Rezolvarea Numerica A Sistemelor de Ecuatii Liniare
    Document8 pagini
    Rezolvarea Numerica A Sistemelor de Ecuatii Liniare
    Valentin I. Marius
    Încă nu există evaluări
  • TW Lab 5
    TW Lab 5
    Document4 pagini
    TW Lab 5
    danielploaia
    Încă nu există evaluări
  • Lab 5
    Lab 5
    Document7 pagini
    Lab 5
    Dorin Nicoara
    Încă nu există evaluări
  • Laborator 3
    Laborator 3
    Document17 pagini
    Laborator 3
    DorelDjj
    Încă nu există evaluări
  • C++2012 Lab6
    C++2012 Lab6
    Document10 pagini
    C++2012 Lab6
    Elena Bujor
    Încă nu există evaluări
  • Laborator 5 POO
    Laborator 5 POO
    Document6 pagini
    Laborator 5 POO
    Constantin Palita
    Încă nu există evaluări
  • Grafica Pe Calculator Lab 1 Java
    Grafica Pe Calculator Lab 1 Java
    Document4 pagini
    Grafica Pe Calculator Lab 1 Java
    OpreaEugen
    Încă nu există evaluări
  • Raport GC Lab 1
    Raport GC Lab 1
    Document6 pagini
    Raport GC Lab 1
    Nickolae Enachi
    Încă nu există evaluări
  • Lab 2 BTD
    Lab 2 BTD
    Document14 pagini
    Lab 2 BTD
    megadanyx
    Încă nu există evaluări
  • POO#Lab#5
    POO#Lab#5
    Document3 pagini
    POO#Lab#5
    Damian Musteata
    Încă nu există evaluări
  • ASDN2
    ASDN2
    Document6 pagini
    ASDN2
    Viktor Dobrovolschi
    Încă nu există evaluări
  • APAlab 4
    APAlab 4
    Document15 pagini
    APAlab 4
    Сергей Борта
    Încă nu există evaluări
  • Laborator La Matemetica Discreta
    Laborator La Matemetica Discreta
    Document8 pagini
    Laborator La Matemetica Discreta
    Dorin Graur
    Încă nu există evaluări
  • POO 2009 Lab14 Stud
    POO 2009 Lab14 Stud
    Document10 pagini
    POO 2009 Lab14 Stud
    Bilea Eugen
    Încă nu există evaluări
  • Ex 3 Lab 11
    Ex 3 Lab 11
    Document2 pagini
    Ex 3 Lab 11
    StefanLucian
    Încă nu există evaluări
  • Poziția de Lider În Domeniul Tehnologiilor Generice Și Industriale
    Poziția de Lider În Domeniul Tehnologiilor Generice Și Industriale
    Document5 pagini
    Poziția de Lider În Domeniul Tehnologiilor Generice Și Industriale
    Iura Cazacu
    Încă nu există evaluări
  • Lab - 5
    Lab - 5
    Document4 pagini
    Lab - 5
    Iura Cazacu
    Încă nu există evaluări
  • Lab Broasca
    Lab Broasca
    Document6 pagini
    Lab Broasca
    Iura Cazacu
    Încă nu există evaluări
  • Lab - 5
    Lab - 5
    Document4 pagini
    Lab - 5
    Iura Cazacu
    Încă nu există evaluări
  • Lab Broasca
    Lab Broasca
    Document6 pagini
    Lab Broasca
    Iura Cazacu
    Încă nu există evaluări
  • Biofizica
    Biofizica
    Document2 pagini
    Biofizica
    Iura Cazacu
    Încă nu există evaluări
  • Nano Medic
    Nano Medic
    Document1 pagină
    Nano Medic
    Iura Cazacu
    Încă nu există evaluări
  • Lab nr.2 Tensiune Superficiala
    Lab nr.2 Tensiune Superficiala
    Document5 pagini
    Lab nr.2 Tensiune Superficiala
    Iura Cazacu
    Încă nu există evaluări
  • Masini Vechi
    Masini Vechi
    Document1 pagină
    Masini Vechi
    Iura Cazacu
    Încă nu există evaluări
  • Imulite
    Imulite
    Document1 pagină
    Imulite
    Iura Cazacu
    Încă nu există evaluări
  • Masini Vechi
    Masini Vechi
    Document1 pagină
    Masini Vechi
    Iura Cazacu
    Încă nu există evaluări
  • Diplo
    Diplo
    Document1 pagină
    Diplo
    Iura Cazacu
    Încă nu există evaluări
  • Masini Multe
    Masini Multe
    Document1 pagină
    Masini Multe
    Iura Cazacu
    Încă nu există evaluări
  • SFSD
    SFSD
    Document1 pagină
    SFSD
    Iura Cazacu
    Încă nu există evaluări
  • Lab MED3
    Lab MED3
    Document2 pagini
    Lab MED3
    Iura Cazacu
    Încă nu există evaluări
  • Server
    Server
    Document1 pagină
    Server
    Iura Cazacu
    Încă nu există evaluări
  • Lab 4 TB
    Lab 4 TB
    Document1 pagină
    Lab 4 TB
    Iura Cazacu
    Încă nu există evaluări
  • Lab 5 TB
    Lab 5 TB
    Document2 pagini
    Lab 5 TB
    Iura Cazacu
    Încă nu există evaluări
  • Laboratorul 1 Med
    Laboratorul 1 Med
    Document1 pagină
    Laboratorul 1 Med
    Iura Cazacu
    0% (1)
  • Materiale
    Materiale
    Document1 pagină
    Materiale
    Iura Cazacu
    Încă nu există evaluări
  • Lab 3 TB
    Lab 3 TB
    Document2 pagini
    Lab 3 TB
    Iura Cazacu
    Încă nu există evaluări
  • Laboratorul 2 La MED
    Laboratorul 2 La MED
    Document1 pagină
    Laboratorul 2 La MED
    Iura Cazacu
    Încă nu există evaluări
  • Lab 2 TB
    Lab 2 TB
    Document1 pagină
    Lab 2 TB
    Iura Cazacu
    Încă nu există evaluări
  • Lab Med 4
    Lab Med 4
    Document2 pagini
    Lab Med 4
    Iura Cazacu
    Încă nu există evaluări
  • Me 8
    Me 8
    Document3 pagini
    Me 8
    Iura Cazacu
    Încă nu există evaluări
  • Labhh 7
    Labhh 7
    Document4 pagini
    Labhh 7
    Mihai Rusu
    Încă nu există evaluări
  • Chestionar Evaluarea II DMCO PDF
    Chestionar Evaluarea II DMCO PDF
    Document1 pagină
    Chestionar Evaluarea II DMCO PDF
    Iura Cazacu
    Încă nu există evaluări
  • Chestionar Evaluarea II DMCO PDF
    Chestionar Evaluarea II DMCO PDF
    Document1 pagină
    Chestionar Evaluarea II DMCO PDF
    Iura Cazacu
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document5 pagini
    Lab 6
    Andrian Ciumac
    Încă nu există evaluări
  • Sarcina Lab2
    Sarcina Lab2
    Document10 pagini
    Sarcina Lab2
    Nickolae Enachi
    Încă nu există evaluări