Segue abaixo um exemplo de algoritmo em linguagem C que atende aos requisitos solicitados: ```c #include #define TAM 10 void inserir(int vetor[], int *tamanho); void excluir(int vetor[], int *tamanho); void imprimir_crescente(int vetor[], int tamanho); void imprimir_decrescente(int vetor[], int tamanho); int main() { int opcao, tamanho = 0; int vetor[TAM]; do { printf("\nEscolha uma opcao:\n"); printf("1 - Inserir numero\n"); printf("2 - Excluir numero\n"); printf("3 - Imprimir em ordem crescente\n"); printf("4 - Imprimir em ordem decrescente\n"); printf("5 - Sair\n"); scanf("%d", &opcao); switch (opcao) { case 1: inserir(vetor, &tamanho); break; case 2: excluir(vetor, &tamanho); break; case 3: imprimir_crescente(vetor, tamanho); break; case 4: imprimir_decrescente(vetor, tamanho); break; case 5: printf("Saindo...\n"); break; default: printf("Opcao invalida!\n"); } } while (opcao != 5); return 0; } void inserir(int vetor[], int *tamanho) { int numero, i, j; if (*tamanho == TAM) { printf("Vetor cheio! Nao e possivel inserir mais numeros.\n"); return; } printf("Digite o numero a ser inserido: "); scanf("%d", &numero); for (i = 0; i < *tamanho; i++) { if (numero < vetor[i]) { for (j = *tamanho; j > i; j--) { vetor[j] = vetor[j - 1]; } vetor[i] = numero; (*tamanho)++; printf("Numero inserido com sucesso!\n"); return; } else if (numero == vetor[i]) { printf("Numero ja existe no vetor!\n"); return; } } vetor[*tamanho] = numero; (*tamanho)++; printf("Numero inserido com sucesso!\n"); } void excluir(int vetor[], int *tamanho) { int numero, i, j; if (*tamanho == 0) { printf("Vetor vazio! Nao ha numeros para excluir.\n"); return; } printf("Digite o numero a ser excluido: "); scanf("%d", &numero); for (i = 0; i < *tamanho; i++) { if (numero == vetor[i]) { for (j = i; j < *tamanho - 1; j++) { vetor[j] = vetor[j + 1]; } (*tamanho)--; printf("Numero excluido com sucesso!\n"); return; } } printf("Numero nao encontrado no vetor!\n"); } void imprimir_crescente(int vetor[], int tamanho) { int i; if (tamanho == 0) { printf("Vetor vazio! Nao ha numeros para imprimir.\n"); return; } printf("Numeros em ordem crescente:\n"); for (i = 0; i < tamanho; i++) { printf("%d ", vetor[i]); } printf("\n"); } void imprimir_decrescente(int vetor[], int tamanho) { int i; if (tamanho == 0) { printf("Vetor vazio! Nao ha numeros para imprimir.\n"); return; } printf("Numeros em ordem decrescente:\n"); for (i = tamanho - 1; i >= 0; i--) { printf("%d ", vetor[i]); } printf("\n"); } ``` Esse algoritmo oferece ao usuário as opções solicitadas e realiza as operações de inserção, exclusão e impressão em ordem crescente e decrescente de um vetor de até 10 posições. O vetor é mantido ordenado a cada inserção, e o programa acusa quando não é possível realizar a inserção ou quando não existem mais elementos para excluir.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar