Ir ao conteúdo
  • Cadastre-se

Retornar um vetor com tamanho desconhecido


Neuber dCastro

Posts recomendados

Caros,

 

Estou criando um programa em C++ em que o usuário insere um número inteiro qualquer, este chama uma função que retorna a quantidade de divisores e um vetor contendo tais divisores. Daí o problema, a quantidade de divisores só será conhecida após o cálculo o que definirá o tamanho do vetor de retorno, então não estou conseguindo criar uma lógica para isso.

 

#include <iostream>
using namespace std;

int divisores(int inteiro,int *divs)
{

	int i,j=0,qtd=0;
	for (i=1; i<=inteiro;i++)
		if (inteiro%i==0) qtd++;
	
	vector <int> *divs;
	
	for (i=1; i<=inteiro;i++)
		if (inteiro%i==0) 
		{
			cout<<i<<"\n";
			divs.push_back(i);
		}
	
	for (int i=0; i<qtd; i++)
		cout << "\n" << divs[i];
	return qtd;
}

int main ()
{
	int inteiro, qtd;
	vector <int> divs;
	cout << "Nº inteiro: ";
	cin >> inteiro;
	qtd = divisores(inteiro,divs);
	
	for (int i=0; i<qtd; i++)
		cout << divs[i] <<"\n";
}

Tentei com new int conforme a parte comentada, mas não deu certo, depois olhando em um outro post aqui eu vi o vector e apliquei, mas ainda assim sem sucesso, ele me retorna (se não me engano) lixo de memória.

Grato.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...