Răspuns :
PROBLEMA 1
#include <iostream>
using namespace std;
float v[100];
int contor=0;
void adauga(){
int n;
cout << "\nNumar de adaugat :";
cin >> n;
v[contor++] = n;
}
void sterge(){
if(contor==0){
cout << "Eroare, nu exista element de sters";
}
else {
cout << "\nUltimul element a fost sters";
contor--;
}
}
void citeste(){
cout << "\nUltimul element din stiva este "<< v[contor-1];
}
int main(){
cout << "\n1. Adaugare element stiva";
cout << "\n2. Sterge element stiva";
cout << "\n3. Citire element stiva";
while(1){
cout << "\nAlegere : ";
int alg;
cin >> alg;
switch(alg){
case 1:
adauga();
break;
case 2:
sterge();
break;
case 3:
citeste();
break;
}
}
}
PROBLEMA 2
#include <iostream>
using namespace std;
int main(){
int v[100],n,i;
//Citire vector
cin >> n;
for(i=1;i<=n;i++) cin >> v[i];
//Citire valori
int f, r;
cout << "De gasit : ", cin >> f;
cout << "De inserat : ", cin >> r;
//Cautare numar r
int pos=-1;
for(i=1;i<n;i++){
if(v[i]==f) pos=i;
}
//Daca nu a fost gasit
if(pos==-1){
cout << "Nu exista";
return 0;
}
//Inserare
for(i=n+1;i>pos+1;i--){
v[i] = v[i-1];
}
v[pos+1] = r;
n++;
//Afisare vector
for(i=1;i<=n;i++) cout << v[i] << " ";
}