WarSoldier Postado Junho 15, 2006 Denunciar Share Postado Junho 15, 2006 Tipo esse codigo, mas está dando erro porque a variavel V não é global e assim a função é retornada ela é destruida... alguém consegue resolver esse problema?# include <iostream.h>int *vetor(){int v[34]; v[0]=2;v[1]=3;v[2]=4;cout<< v[0]<<"Dentro da funcao posicao 0, valor tem que ser 2"<< endl;cout<< v[1]<<"Dentro da funcao posicao 1 valor tem que ser 3"<<endl;cout<< v[2]<<"Dentro da funcao posicao 2 valor tem que ser 4"<<endl;return v;}main(){ int *x, a;x=vetor();cout<< x[0] <<" valor tem que ser 2"<<endl;cout<< x[1] << "valor tem que ser 3"<<endl;cout<< x[2] << " 2 valor tem que ser 4"<<endl;cin >> a;return 0;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 WarSoldier Postado Junho 15, 2006 Autor Denunciar Share Postado Junho 15, 2006 Um parceiro me deu uma solução#include <iostream>#include <vector>using std::vector;using std::cout;vector<int> vetor(){ vector<int> v; // adiciona alguns elementos.. v.push_back(1); v.push_back(1); return v;}int main(){ vector<int> x; x = vetor(); for (int i=0; i<x.size(); ++i) cout << x; return 0;}ou...int* vetor(){ int* v = new int[50]; //bla bla bla; return v;}int main(){ int *x; x=vetor(); // bla delete [] x; return 0;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 15, 2006 Denunciar Share Postado Junho 15, 2006 Aqui comigo deu certo assim:#include <iostream> using namespace std; int *vetor() { int *v; v = new int[34]; v[0] = 2; v[1] = 3; v[2] = 4; cout << v[0] << " Dentro da funcao posicao 0, valor tem que ser 2" << endl; cout << v[1] << " Dentro da funcao posicao 1 valor tem que ser 3" << endl; cout << v[2] << " Dentro da funcao posicao 2 valor tem que ser 4" << endl; return v; } int main() { int *x, a; x = vetor(); cout << x[0] << " valor tem que ser 2" << endl; cout << x[1] << " valor tem que ser 3" << endl; cout << x[2] << " valor tem que ser 4" << endl; cin >> a; return 0; }Bem mais simples do que utilizar a classe Vector.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
WarSoldier
Tipo esse codigo, mas está dando erro porque a variavel V não é global e assim a função é retornada ela é destruida...
alguém consegue resolver esse problema?
# include <iostream.h>
int *vetor(){
int v[34];
v[0]=2;
v[1]=3;
v[2]=4;
cout<< v[0]<<"Dentro da funcao posicao 0, valor tem que ser 2"<< endl;
cout<< v[1]<<"Dentro da funcao posicao 1 valor tem que ser 3"<<endl;
cout<< v[2]<<"Dentro da funcao posicao 2 valor tem que ser 4"<<endl;
return v;
}
main()
{
int *x, a;
x=vetor();
cout<< x[0] <<" valor tem que ser 2"<<endl;
cout<< x[1] << "valor tem que ser 3"<<endl;
cout<< x[2] << " 2 valor tem que ser 4"<<endl;
cin >> a;
return 0;
}
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.