Informática, perguntado por edsonluisferrei, 1 ano atrás

4- Escreva um programa em C que recebe via teclado um conjunto de números
inteiros (máximo 50). Armazene todos os números inteiros em um vetor até que
o usuário digite 0 (zero). Logo após permita ao usuário consultar o valor
que está armazenado em determinada posição. O programa deve imprimir
na tela a posição do número no vetor ou ERRO: Número não
encontrado (veja exemplos abaixo):
Exemplo:
Número: 50
Número: 30
Número: 20
Número: 10
Número: 40
Número: 0
Valor: 20
Posição no vetor: 2
Valor: 40
Posição no vetor: 4
Valor: 60
ERRO: Número não encontrado
Valor: 0
Observação: O programa termina quando o usuário digitar 0 (zero).

Soluções para a tarefa

Respondido por bokomoko
0
Eu faria assim

#include <stdio.h>#include <stdlib.h>
#define LIMIT 50 /* número máximo de entradas*/
int main(){    int achou;       int *numeros;    int quantos;    int auxiliar;    int z = 1;    quantos = 0;    numeros = malloc(sizeof(int)*LIMIT);    auxiliar =1;        while(quantos <= 50 && auxiliar ) {        printf("Ainda temos %d vagas. Digite um número qualquer ou 0 para terminar",LIMIT-quantos);        scanf("%d", &auxiliar);        printf("Usuário digitou %d \n",auxiliar);        if (auxiliar) {             numeros[++quantos] = auxiliar;                   }        else {             printf("entrada terminada pelo usuário \n");        }    };    auxiliar = 1 ;     printf("\n");    printf("Eis o vetor \n");    for (i=1;i<quantos;i++){      printf("Posiçao %d contém o número %d \n",i,numeros[i]);    };    while(auxiliar) {        printf("Informe um número para ser pesquisado ou digite 0 para terminar ");        scanf("%d", &auxiliar);        if (auxiliar) {             achou = 0;             for (i=1;i<quantos;i++){               if (numeros[i]==auxiliar){                   printf("Número %d encontrado na posicao %d \n",auxiliar,i);                   achou = 1;               }             }             if (!achou) {               printf("Número %d não encontrado \n",auxiliar);             }                   }    };    
}
Perguntas interessantes