Probleme de informatica - enunturi si rezolvari

Probleme de informatică
Clasa a IX-a
Elementele de bază C++ (46)
Subprograme predefinite (1)
Fişiere text (2)
Algoritmi elementari (109)
Tablouri unidimensionale (83)
Tablouri bidimensionale (64)
Probleme diverse (13)
Clasa a X-a
Subprograme (funcții) (87)
Şiruri de caractere (49)
Tipul înregistrare (26)
Recursivitate (57)
Alocarea dinamică a memoriei (2)
Liste înlănţuite (25)
Algoritmul lui Lee (1)
Clasa a XI-a
Metoda "Divide et impera" (12)
Metoda Backtracking (85)
Metoda Greedy (6)
Programare dinamică (18)
Grafuri neorientate (37)
Grafuri orientate (38)
Arbori (33)
Clasa a XII-a
Elemente de bază C# (32)
POO în C# (13)
Programare vizuală în C# (10)
Examen de bacalaureat
Competențe digitale
Examen de atestat
Admitere UBB (18)
Varianta 91 / Subiectul 2 / Problema 5

#include<iostream.h>
#include<string.h>

struct nod
{ char info;
  nod *prec, *urm;
};
nod *prim;

void adaugs(nod *&prim, char x)
{ nod *p, *nou;
  if(prim)
    { p=prim;
      while(p->urm) p=p->urm;
      nou=new nod;
      nou->info=x;
      p->urm=nou;
      nou->prec=p;
      nou->urm=0;
    }
  else
    {  prim=new nod;
       prim->info=x;
       prim->urm=0;
       prim->prec=0;
    }
}

void afis(nod *prim)
{  nod *p=prim;
   while(p->urm) p=p->urm;
   while(p)
     { cout<<p->info;
       p=p->prec;
     }
}

void main()
{ char s[30];
  cin>>s;
  for(int i=0;i<strlen(s); i++) adaugs(prim,s[i]);
  afis(prim);
}

21 aug 2018
Site-ul conține 867 de probleme rezolvate
Copyright © 2009-2018 Muresan Vasile Ciprian