Esse é o código certo:
#include <stdio.h>
#include <stdlib.h>
int contador=0;
int *inserir_elemento(int*vetor, int valor){
int i;
if(contador>0){
for(i=0;i<contador;i++){
if(vetor==valor){
printf("\n\n\n\n\n -------- Esse valor nao pode ser inserido, porque ele é repetido. -------\n\n\n\n");
return (int*)vetor;
}
}
}
vetor[contador] = valor;
contador++;
return (int*)vetor;
}
int *elimina_valor(int valor, int*vetor){
int i;
for(i=0;i<contador;i++){
if(vetor==valor && i<contador-1){
vetor = 0;
vetor = vetor[i+1];
contador--;
}else{
vetor = 0;
contador--;
}
}
return (int*)vetor;
}
int *altera_valor(int valor, int*vetor, int outro){
int i;
if(contador==0){
printf("\n\n\n\n\n ---------- Nao ha nenhum valor no vetor ------------\n\n\n\n\n");
}else{
for(i=0;i<contador;i++){
if(vetor==valor){
vetor = outro;
}
}
}
return (int*)vetor;
}
int busca_elemento(int*vetor, int numero){
int i;
for(i=0;i<contador;i++){
if(vetor==numero){
printf("------------ O numero %d esta no vetor e sua posicao é %d ---------\n\n\n\n", numero, i+1);
return 0;
}
}
printf("----------- Nao ha esse numero no vetor ------------\n\n\n\n");
return -1;
}
void exibir_pares(int*vetor){
int i;
for(i=0;i<contador;i++){
if(vetor%2==0){
printf("- %d - ");
}
}
printf("\n\n\n\n\n");
}
void exibir_impares(int*vetor){
int i;
for(i=0;i<contador;i++){
if(vetor%2==1){
printf("- %d - ");
}
}
printf("\n\n\n\n\n");
}
void exibir_elementos(int*vetor){
int i, j, aux;
for(i=0;i<contador;i++){
for(j=i+1;j<contador;j++){
if(vetor%2==1 && vetor[j]%2==0){
aux = vetor;
vetor = vetor[j];
vetor[j] = aux;
}
}
}
for(i=0;i<contador;i++){
printf("- %d - ", vetor);
}
}
int main(){
int valor, *vetor, outro, numero;
char opcao = 'k';
while(opcao!='g'){
printf("a. Insercao de um novo elemento;\n");
printf("b. Remocao de determinado valor: neste caso, todas as ocorrencias do numero devem ser removidas do vetor; \n");
printf("c. Alteracao de um valor por outro: assim como na remocao, todas as ocorrencias devem ser alteradas; \n");
printf("d. Busca de determinado elemento: neste caso, retornar a posicao da primeira ocorrencia, caso o elemento seja encontrado; se nao, retornar o valor -1; \n");
printf("e. Exibir os numeros pares; \n");
printf("f. Exibir os numeros impares; \n");
printf("g. Sair do sistema: antes de concluir a execucao da aplicacao, exibir os elementos do vetor. \n");
printf("\n\n\n\n");
opcao = getch();
switch(opcao){
case 'a':
printf("Digite um numero > 0: \n");
scanf("%d", &valor);
vetor = inserir_elemento(vetor, valor);
break;
case 'b':
if(contador==0){
printf("\n\n\n\n\n ---------- Nao é possivel remover, porque o vetor nao possui nenhum valor. ---------\n\n\n\n\n");
}else{
printf("Digite o valor a ser eliminado: \n");
scanf("%d", &valor);
vetor = elimina_valor(valor, vetor);
}
break;
case 'c':
if(contador==0){
printf("\n\n\n\n\n ---------- Nao é possivel remover, porque o vetor nao possui nenhum valor. ---------\n\n\n\n\n");
}else{
printf("Primeiro o valor a ser alterado, depois o numero que entrara:\n");
scanf("%d%d", &valor, &outro);
vetor = altera_valor(valor, vetor, outro);
}
break;
case 'd':
if(contador==0){
printf("\n\n\n\n\n ---------- Nao é possivel fazer a busca, porque o vetor nao possui nenhum valor. ---------\n\n\n\n\n");
}else{
printf("Digite o numero a ser pesquisado no vetor: \n");
scanf("%d", &numero);
busca_elemento(vetor, numero);
}
break;
case 'e':
if(contador==0){
printf("\n\n\n\n\n ---------- Nao é possivel exibir, porque o vetor nao possui nenhum valor. ---------\n\n\n\n\n");
}else{
exibir_pares(vetor);
}
break;
case 'f':
if(contador==0){
printf("\n\n\n\n\n ---------- Nao é possivel exibir, porque o vetor nao possui nenhum valor. ---------\n\n\n\n\n");
}else{
exibir_impares(vetor);
}
break;
case 'g':
if(contador==0){
printf("\n\n\n\n ----- Nao é possivel mostrar os elementos, porque o vetor esta vazio ------ \n\n\n\n");
}else{
exibir_elementos(vetor);
}
break;
default:
printf("Opcao invalida\n");
break;
}
}
system("pause");
return 0;
}