Rezolvare PBinfo #4173

Decorative Icon Problema: FLdiCauta / 4173

Decorative IconAutor: Andrei

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

struct nod
{
    int info;
    nod *ant, *urm;
};

în care câmpul info memorează un număr întreg, câmpul ant memorează adresa elementului anterior al listei, iar campul urm memorează adresa elementului următor al listei.

Cerința

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

int FLdiCauta(nod *prim, nod *ultim, int k)

Primul nod are adresa memorată în pointerul prim si ultimul nod are adresa memorata in pointerul ultim. Numărul k este întreg și nenul. Dacă k > 0, atunci funcția va returna informația reținută în al k-lea nod, parcurgând lista de la stânga la dreapta. În cazul, în care k este mai mare sau egal cu numărul de noduri, atunci funcția va returna informația din nodul ultim. Dacă k < 0, atunci, notând cu p = -k, funcția va returna informația reținută în al p-lea nod, parcurgând lista de la dreapta la stânga. În cazul, în care p este mai mare sau egal cu numărul de noduri, atunci funcția va returna informația din nodul prim. De exemplu, dacă lista reține valorile 5,3,6,2,8, atunci FLdiCauta(prim, ultim, 4) = 2, FLdiCauta(prim, ultim, 20) = 8, iar FLdiCauta(prim, ultim, -4) = 3.

Restricții și precizări
  • numele funcției va fi FLdiCauta
  • lista inițială conține cel puțin un nod
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.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate