#include <iostream>
#include <cstdlib>
using namespace std;

void iniciaLista (int *t){
     *t = 0;
}

void inserir(int v[], int &n, int e){
	if (40 == n){
		cout << "ERRO: Lista cheia.";
	}else{
		v[n] = e;
		n++;
	}
}

void percorrer(int v[], int n){
	for (int i = 0; i < n; i++)
		cout <<  v[i] << " ";
}

int buscarSequencial(int v[], int n, int valor){
	for (int i = 0; i < n; i++){
		if (v[i] == valor) return i;
	}
	return -1;
}

void remover(int v[], int &n, int e){
	int pos;
	if (n == 0){
		cout << "ERRO : Lista vazia. \n";
		return; // return; sai da funo sem retornar valor algum
	}
	pos = buscarSequencial(v,n,e);
	if (pos == -1){
		cout << "ERRO : Valor no encontrado. \n";
		return;
	}
	v[pos] = v[n-1];
	n--;
}

// Prog. Principal
int main(){
	int v[40], tam, i, temp;
        iniciaLista (&tam);
	for (i = 0; i < 3; i++){
		cout << "Digite um numero: ";
		cin >> temp;
		inserir(v, tam, temp);
	}
	percorrer(v,tam);
	cout << "Digite um numero pra procurar: ";
	cin >> temp;
	i = buscarSequencial(v,tam,temp);
	if (i == (-1)){
		cout << "Nao achei " << temp << "...\n";
	}else{
		cout << "Achei " << temp << " na posicao " << i << "...\n";
	}
	cout << "Digite um numero pra excluir: " << endl;
	cin >> temp;
	remover(v,tam,temp);
	percorrer(v,tam);
	system("pause");
	return 0;
}
