[C++]Ajuda com função que retira um elemento do vetor
Olá amigos! podem me ajudar com o código abaixo:
Baseado no Código abaixo, crie uma função que retire um elemento do vetor. O usuário deverá digitar a POSIÇÃO (ou ÍNDICE) que deseja retirar. A retirada deve "copiar" os números em posições à direita de forma a substituir o número que deve ser "eliminado".
Por exemplo, se o usuário digitar um número negativo, (não existem índices negativos no vetor) o programa deve imprimir uma mensagem de erro. Se o usuário digitar um número maior que 9 (no exemplo abaixo os índices vão de 0 a 9)
o programa deve imprimir uma mensagem de erro.
#include <stdio.h>
#define TAM 10
void imprimir(int *v,int qtd);
int inserir(int valor, int *qtd, int *v, int tamanho);
void main()
{
int vetor[TAM]=;
int valor, finalizar=1, qtd=0;
while (finalizar)
{
printf("\nDigite um valor: ");
scanf("%d", &valor);
finalizar=inserir(valor, &qtd, vetor, TAM);
imprimir(vetor,qtd);
}
printf("Cheio!");
}
int inserir(int valor, int *qtd, int *v, int tamanho){
int i=0,aux;
if (*qtd==0){
v[0]=valor;
(*qtd)++;
}else if (*qtd<tamanho){
while (valor>v[i] && i<*qtd) i++;
for (aux = *qtd; aux>i; aux--)v[aux]=v[aux-1];
v[i]=valor;
(*qtd)++;
}else return 0;
return 1;
}
void imprimir(int *v, int qtd)
{
int i;
for (i = 0; i < qtd; i++)printf("[%d]", v[i]);
}
Baseado no Código abaixo, crie uma função que retire um elemento do vetor. O usuário deverá digitar a POSIÇÃO (ou ÍNDICE) que deseja retirar. A retirada deve "copiar" os números em posições à direita de forma a substituir o número que deve ser "eliminado".
Por exemplo, se o usuário digitar um número negativo, (não existem índices negativos no vetor) o programa deve imprimir uma mensagem de erro. Se o usuário digitar um número maior que 9 (no exemplo abaixo os índices vão de 0 a 9)
o programa deve imprimir uma mensagem de erro.
#include <stdio.h>
#define TAM 10
void imprimir(int *v,int qtd);
int inserir(int valor, int *qtd, int *v, int tamanho);
void main()
{
int vetor[TAM]=;
int valor, finalizar=1, qtd=0;
while (finalizar)
{
printf("\nDigite um valor: ");
scanf("%d", &valor);
finalizar=inserir(valor, &qtd, vetor, TAM);
imprimir(vetor,qtd);
}
printf("Cheio!");
}
int inserir(int valor, int *qtd, int *v, int tamanho){
int i=0,aux;
if (*qtd==0){
v[0]=valor;
(*qtd)++;
}else if (*qtd<tamanho){
while (valor>v[i] && i<*qtd) i++;
for (aux = *qtd; aux>i; aux--)v[aux]=v[aux-1];
v[i]=valor;
(*qtd)++;
}else return 0;
return 1;
}
void imprimir(int *v, int qtd)
{
int i;
for (i = 0; i < qtd; i++)printf("[%d]", v[i]);
}
Vinicius Alves
Curtidas 0