Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Lista;
- class Nod {
- private:
- float info;
- Nod *next;
- public:
- Nod(float info = 0, Nod *next = NULL) {
- this -> info = info;
- this -> next = next;
- }
- float getInfo() {
- return info;
- }
- friend class Lista;
- };
- class Lista {
- private:
- Nod* prim;
- Nod* ultim;
- public:
- Lista();
- ///void adaugaSfarsit(int info);
- void adaugaInceput(float info);
- void afisare();
- void nodDiferenta();
- };
- Lista::Lista() {
- prim=ultim=NULL;
- }
- void Lista::adaugaInceput(float info) {
- Nod* p = new Nod(info);
- if (prim == NULL) {
- prim = ultim = p;
- } else {
- p->next =prim;
- prim = p;
- }
- }
- void Lista::afisare() {
- Nod *p = prim;
- cout<<endl;
- cout<<"[";
- while(p != NULL) {
- cout<<p->info<<" ";
- p= p->next;
- }
- cout<<"]"<<endl;
- }
- void Lista::nodDiferenta() {
- if(prim!=NULL && prim->next!=NULL) {
- Nod *q,*p;///parcurgem lista
- q=prim;
- p=q->next;
- while(p!=NULL) {
- Nod *temp;/// in el se calculeaza suma a 2 elem consecutive;
- temp=new Nod;
- temp->info=p->info - q->info;
- temp->next=p;
- q->next=temp;
- q=p;///q sare la nodul p, peste cel nou creat
- p=p->next;
- }
- }
- }
- int main() {
- Lista lista;
- lista.adaugaInceput(1);
- lista.adaugaInceput(2);
- lista.adaugaInceput(5);
- lista.adaugaInceput(8);
- lista.afisare();
- cout<<" Elementele inserate sunt diferenta a 2 consecutive"<< endl;
- lista.nodDiferenta();
- lista.afisare();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement