Vetor, Programa em C que leia vários valores. A entrada de dados deve ser encerrada quando digitado 0, Em seguida o programa deve ler um número que será procurado na lista e em que posição está.
Caso consiga explica o código também vai me ajudar muito, obrigado.
Soluções para a tarefa
Resposta:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
//declaração de variáveis do tipo inteiro
int *vet, tam,search_number,position_number,i,j,x,y;
printf("Digite o total de numeros: ");
scanf("%d", &tam);
vet = (int*) malloc(tam * sizeof(int));
//Guardar os dados informados pelo usuario
for(i=0;i<tam;i++){
printf("Digite um numero inteiro: ");
scanf("%d", &vet[i]);
if (vet[i]==0){
for(x=i;x<tam;x++){
vet[x] = 0; // Coloca para os demais posicoes o valor zero
}
i=tam; // Entrada de dados encerra aqui e sai do loop
}
}
//Imprimir os dados informados pelo usuario
for(j=0;j<tam;j++){
printf("Posicao %d->%d\n",j+1,vet[j]);
}
printf("Informe um numero para ser pesquisado na lista:");
scanf("%d",&search_number);
for(y=0;y<tam;y++){
if (vet[y] == search_number){
position_number = y;
y=tam;
}
}
if (position_number >= 0 ){
printf("O numero %d foi encontrado na posicao %d\n",vet[position_number],position_number+1);
}else{
printf("O numero %d NAO foi encontrado na lista\n",vet[position_number]);
}
system ("pause");
return(0);
}
Explicação:
A explicação está nos comentários do código-fonte. Amanhã te envio o link do vídeo explicando melhor.