Vetor
Programa em C ou 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á
Estou com muita dificuldade com esta questão.
Desde já, agradeço.
Soluções para a tarefa
Esse problema é mais fácil de ser feito em C++, que contém uma estrutura chamada vector, que é um vetor dinâmico. Essa estrutura contém as funções push_back, que insere um elemento no fim do vetor, e a função size, que retorna o tamanho do vetor. Com essas duas funções já é possível fazer o que a questão pede.
É possível fazer em C também, mas é mais complicado porque você terá que alocar memória dinamicamente, já que não sabe de antemão o tamanho do vetor. Para isso existem as funções malloc e realloc.
Segue um código simples em C++ utilizando vector:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vetor;
int numero = -1;
while(numero != 0) {
cout << "Digite o numero (0 para encerrar): ";
cin >> numero;
if(numero != 0)
vetor.push_back(numero);
}
cout << "Digite o numero a ser buscado: ";
cin >> numero;
int posicao = -1;
for(int i = 0; i < vetor.size() && posicao == -1; ++i) {
if(vetor[i] == numero)
posicao = i;
}
if(posicao == -1)
cout << "Numero nao encontrado.\n";
else
cout << "Numero na posicao " << posicao << "\n";
return 0;
}