Buna ziua! As avea nevoie de ajutor la următoarele probleme in C++ 1. Scrieti un program prin care se permite construirea si eliberarea unei stive de numere reale.
2. Scrieti un program de calculator care sa insereze un element intr-un sir daca o anumita valoare este gasita in sir, in pozitia urmatoare valorii gasite. De exemplu fie sirul 6,9,11,45,47,21,6. Sa se insereze valoarea 33 dupa 11 daca 11 apare in sir! Sirul final va fi : 6,9,11,33,45,47,21,6.
Răspunsuri la întrebare
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] << " ";
}