Structuri de Date și Alogoritmi

Extras din laborator:

Laborator 1

Probleme propuse

1. Să se realizeze un program pentru o agendă telefonică permiţând gestionarea unor persoane, a adreselor lor şi a numerelor de telefon. Operaţiile care vor fi realizate sunt:

-adaugarea unei persoane;

-eliminarea unei persoane;

-căutarea numărului de telefon al unei persoane;

-căutarea numelui unei persoane al cărei număr de telefon se cunoaşte;

-ordonare alfabetică;

-listarea persoanelor într-un fişier text.

I. Aplicaţii rezolvate

Aplicaţia 1

Fiind date n paralelipipede dreptunghice reţinute în nodurile unei liste simplu înlănţuite, să se scrie un program care afişează o listă cu volumele celor n paralelipipede dreptunghice şi determină câte din cele n paralelipipede dreptunghice sunt cuburi. Pentru fiecare paralelipiped dreptunghic se cunosc: lungimea, lăţimea şi înalţimea paralelipipedului.

Programul corespunzător problemei este:

#include<iostream.h>

struct paraleliped

{ int lung,lat,h;

};

struct nod

{ paraleliped d;

nod* leg;

};

int vida(nod* p){return p==NULL;}

nod* init(){ return NULL; }

nod* adaugare(nod* p,paraleliped a)

{nod* n=new nod;

nod* q;

n->d=a;

n->leg=NULL;

if(vida(p)) p=n;

else { q=p;

while(q->leg!=NULL)q=q->leg;

q->leg=n;

}

return p;

}

void afisareV(nod* p)

{ nod* n=p;

double vol;

if (vida(p))

cout<<"nNu exista paralelipipede dreptunghicen";

else { cout<<"nParalelipipedele dreptunghice: ";

while (n!=NULL)

{ vol=n->d.lung*n->d.lat*n->d.h;

cout<<endl<<" Lungime: "<<n->d.lung<<"Latime: ";

cout<<n->d.lat<<" Inaltime: "<<n->d.h;

cout<<" Vol="<<vol;

n=n->leg;

}

cout<<endl;

}

}

void pdrept(nod* p)

{nod* n=p;

int nr=0;

if (vida(p))

cout<<"nNu exista paralelipipede dreptunghicen";

else { while(n!=NULL)

{ if(n->d.lung==n->d.lat && n->d.lat==n->d.h)

nr=nr++;

n=n->leg;

}

if(nr==0)

cout<<"nNu exista paralelipipede drept care sunt si cuburi ";

else

cout<<"nNr de paralelip drept care sunt si cuburi este:"<<nr;

}

}

void main()

{ nod* prim;

int i,n;

paraleliped d;

cout<<"nDati nr de paralelipipede dreptunghice: ";

cin>>n;

prim=init();

for(i=1;i<=n;i++)

{ cout<<"nParalelipipedul "<<i;

cout<<" are urmatoarele date: n";

cout<<"Lungimea = ";

cin>>d.lung;

cout<<"Latimea = ";

cin>>d.lat;

cout<<"Inaltimea = ";

cin>>d.h;

prim=adaugare(prim,d);

}

afisareV(prim);

pdrept(prim);

}

Observații:

ACESTE LABORATOARE S-AU FACUT LA PROFILUL DE INFOMATICA INDUSTRIALA DIN CADRUL FACULTATII DE INGINERIE HUNEDOARA

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • curs10
    • BACK.CPP
    • curs10.doc
  • curs3
    • curs3.doc
    • curs3p1.CPP
    • curs3p2.cpp
    • curs3p3.CPP
    • curs3p4.CPP
    • curs3p5.CPP
  • curs4
    • curs4.doc
    • CURS4P1.CPP
    • CURS4P2.CPP
    • CURS4P3.CPP
    • CURS4P4.CPP
    • CURS4P5.CPP
  • curs5
    • curs5.doc
    • CURS5P1.CPP
    • CURS5P2.CPP
    • INTRARE.TXT
  • curs6
    • curs6.doc
    • curs6p1.CPP
    • intrare1.TXT
  • curs7
    • curs7.doc
    • CURS7P1.CPP
    • CURS7P2.CPP
    • CURS7P3.CPP
    • INPUT.TXT
  • curs9
    • curs9.doc
    • Curs9p1.CPP
    • Curs9p2.CPP
    • Curs9p3.CPP
    • Curs9p4.cpp
  • laborator1
    • laborator1.doc
    • problema1.txt
    • problema2.txt
    • problema3.txt
  • curs1.DOC
  • curs11.doc
  • curs12.doc
  • curs13.doc
  • curs14.doc
  • curs2.doc
  • curs8.doc
  • CIFRE-laborator 13.CPP
  • laborator10.doc
  • laborator11.doc
  • laborator12.doc
  • laborator13.doc
  • laborator2.doc
  • laborator3.doc
  • laborator4.doc
  • laborator5.doc
  • laborator6.doc
  • laborator7.doc
  • laborator8.doc
  • laborator9.doc
Alte informații:
Tipuri fișiere:
doc, cpp, txt
Nota:
7.5/10 (2 voturi)
Nr fișiere:
55 fisiere
Pagini (total):
15 pagini
Nr cuvinte:
40 842 cuvinte
Nr caractere:
218 976 caractere
Marime:
746.88KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Angela Iordan
Sus!