Salve a tutti , devo creare un programmino che simuli una coda , ho fatto le funzioni di push e pop ma non funzionano. La funzione di push aggiunge un valore negativo enorme , mentre la funzione pop non mi cancella il numero ma lo diminuisce di 1 , mi potreste dare una mano anche spiegandomi meglio i passaggi che dovrebbero effettuare queste funzioni?
#include <iostream>
#define MAX 10
using namespace std;
int pop(int v[]);
void push (int v[]);
int main()
{
int v[MAX];
int opzione;
//allocazione dinamica
int *array;
array=(int*) malloc (MAX *sizeof(int));
for (int i=0;i<MAX;i++)
{
cout << "Inserisci elemento : ";
cin >> v[i];
}
// Menu
cout << "------MENU------"<<endl;
cout << "1)Inserisci un elemento all'inizio della coda."<<endl;
cout << "2)Elimina un elemento in fondo alla coda."<<endl;
cin >> opzione;
if (opzione==1)
{
push(v);
}
if (opzione==2)
{
pop(v);
for (int i=0;i<MAX;i++)
{
cout << v[i]<<endl;
}
}
return 0;
}
void push (int v[])
{
int elemento;
cout << "Inserisci l'elemento che vuoi aggiungere alla coda : ";
cin >> elemento;
elemento=v[MAX+1];
for (int i=0;i<(MAX+1);i++)
{
cout << v[i]<<endl;
}
}
int pop(int v[])
{
v[0]=v[0]-1;
return v[v[0]+1];
}