# PBinfo #3789 – FListaOglindire – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:

struct nod{
    int info;
    nod * urm;
};
în care câmpul info memorează un număr întreg, iar câmpul urm memorează adresa următorului element al listei.

Cerinţa
Să se scrie o funcție C++ cu următorul prototip:

void oglindire(nod * & p);
care oglindește nodurile din lista pentru care primul element are adresa memorată în pointerul p. 

Restricţii şi precizări

numele funcției va fi oglindire
se recomandă evitarea folosirii unor structuri de date suplimentare

Important
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

## Cod sursă C++

```cpp
void oglindire(nod * & p)
{
    nod * a = NULL;
    for( ; p ; )
    {
        nod * t = p;
        p = p->urm;
        t->urm = a;
        a = t;
    }
    p = a;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3789)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3789/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3789/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
