• Matéria: Informática
  • Autor: nio89
  • Perguntado 7 anos atrás

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.

Respostas

respondido por: vitorvgc
1

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;

}


nio89: Boa noite, você conseguiria fazer em esta questão em C ? estou me batendo bastante para fazer em C
Perguntas similares