You are on page 1of 7

#include <iostream>

#include<cstring>

using namespace std;

class student {

public:

int nr_stud;

string nume[10];

double medie[10];

};

student clasa1;

class Instantiator {

public:

void Binary_Search(double add[], int s, int d, int x)

if (d >= s) {

int mid = s + (d - s) / 2;

if (add[mid] == x)

cout << "Studentul nr " << mid << endl << endl;

if (add[mid] > x)

return Binary_Search(add, s, mid - 1, x);

return Binary_Search(add, mid + 1, d, x);

}
}

void Sequantial_search()

cout << "Numele: ";

string x;

cin >> x;

for (int i = 1;i <= 10;i++)

if (clasa1.nume[i] == x)

cout << "Studentul nr " << i << endl << endl;

break;

};

int main()

clasa1.nume[1] = "Francesca";

clasa1.medie[1] = 4;

clasa1.nr_stud = 1;

clasa1.nume[2] = "Gabi";

clasa1.medie[2] = 7;

clasa1.nr_stud = 2;
clasa1.nume[3] = "Rick";

clasa1.medie[3] = 6;

clasa1.nr_stud = 3;

clasa1.nume[4] = "Floarea";

clasa1.medie[4] = 5;

clasa1.nr_stud = 4;

clasa1.nume[5] = "Alexandra";

clasa1.medie[5] = 9;

clasa1.nr_stud = 5;

clasa1.nume[6] = "Andreea";

clasa1.medie[6] = 2;

clasa1.nr_stud = 6;

clasa1.nume[7] = "Geo";

clasa1.medie[7] = 3;

clasa1.nr_stud = 7;

clasa1.nume[8] = "Anastasia";

clasa1.medie[8] = 1;

clasa1.nr_stud = 8;

clasa1.nume[9] = "Iulia";

clasa1.medie[9] = 8;

clasa1.nr_stud = 9;

Instantiator nume_cautare;

nume_cautare.Sequantial_search();
int cautare;

cout << "Media :";

cin >> cautare;

Instantiator medie_cautare;

medie_cautare.Binary_Search(clasa1.medie, 1, 10, cautare);

return 0;

class Instantiator:

class Student:

def _init_(stud, nr_student, nume, medie):

stud.nr_student = nr_student

stud.nume = nume

stud.medie = medie

def BinarySearch():
medie_cautata = int(input("Introduceti media pe care doriti s-o cautati: "))

low = 0

high = 10

mid = 0

while low <= high:

mid = (high + low) // 2

if medie_cautata > 10 or medie_cautata < 1:

print("Introduceti o medie valida")

Instantiator.Student.BinarySearch()

if student[mid].medie < medie_cautata:

low = mid + 1

elif student[mid].medie > medie_cautata:

high = mid - 1

else:

return student[mid].nume

print("Nu s-a gasit niciun student cu media " + str(medie_cautata))

def sequentialSearch():

nume_cautat = input("Introduceti numele studentului: ")

gasit = False

for obj in student:

if obj.nume == nume_cautat:

print("\nNume: " + obj.nume + "\nMedie: " + str(obj.medie))

gasit = True

if gasit == False:

print("Studentul nu a fost gasit!")

student = []
student.append(Instantiator.Student(1, "Gianni", 7))

student.append(Instantiator.Student(2, "Gigi", 6))

student.append(Instantiator.Student(3, "Geo", 2))

student.append(Instantiator.Student(4, "George", 1))

student.append(Instantiator.Student(5, "Georgeta", 3))

student.append(Instantiator.Student(6, "Marius", 5))

student.append(Instantiator.Student(7, "Cosmin", 4))

student.append(Instantiator.Student(8, "Flaviu", 10))

student.append(Instantiator.Student(9, "Iulian", 9))

student.append(Instantiator.Student(10, "Ion", 8))

variabila = int(input("Tip cautare: \n0 - Iesire\n1 - Medie\n2 - Nume\n"))

while variabila != 0:

if variabila == 1:

print("Studentul " + Instantiator.Student.BinarySearch() + ", are media cautata")

if variabila == 2:

Instantiator.Student.sequentialSearch()

variabila = int(input("Tip cautare? \n0 - Iesire\n1 - Medie\n2 - Nume\n"))

You might also like