Stock 0 Denunciar post Postado Fevereiro 17, 2009 Olá Boa Tarde, Sou universitario e minha professora é aquela tipica que não sabe explicar detalhadamente a materia, e eu estou com duvida em um exercicio, sera que vcs poderiam me ajudar ?? O Exercicio pede o seguinte : Faça um programa que contenha uma função que recebe um array de 5 posições. deverá calcular o somatório desses valores e mostrar o resultado na função principal. por favor me ajudem ... só sei mesmo o começo ... sera que tenho que usar o comando For ? estou começando ele assim : #include <iostream> using namespace std; void altera(int vt[5]) Detalhe eu tenho que passar array como parâmetro, ou seja, tenho que usar o void. Exemplo de mais ou menos ela quer : Linha 1 #include <iostream> Linha 2 using namespace std; Linha 3 void altera(int vt[3]) Linha 4 { Linha 5 vt[0] = 5; Linha 6 } Linha 7 int main() Linha 8 { Linha 9 int vetor[3] = {2,3,6}; Linha 10 cout<<”\nO vetor eh: “<<vetor[0]<<”, “<<vetor[1]<< “,”<<vetor[2]; Linha 11 altera(vetor); Linha 12 cout<<”\nO vetor eh: “<<vetor[0]<<”, “<<vetor[1]<< “,”<<vetor[2]; Linha 13 return 0; Linha 14 } Obrigado desde já!!! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 17, 2009 o ideal é fazer a função retornar o valor da soma. Logo, o retorno não é void, mas, sim, int Você tem que usar um FOR para percorrer o vetor: soma = 0; for ( i = 0; i < TAM_VETOR; i++) { soma += vetor[i]; } Compartilhar este post Link para o post Compartilhar em outros sites
Jonathan Queiroz 1 Denunciar post Postado Fevereiro 17, 2009 Não sei se entendi muito bem... Eu faria assim: int valor=0; for (int i=0;i<5;i++){ valor+=vt[i] } //Mostra o resultado na própria função printf("O valor e: %d",valor) Compartilhar este post Link para o post Compartilhar em outros sites
Stock 0 Denunciar post Postado Fevereiro 18, 2009 Ai gente muito obrigado, 2 duas respostas me ajudaram bastante... olha o jeito que ficou : #include <iostream> using namespace std; int soma(int vt[5]) { int calculo; calculo= vt[0]+vt[1]+vt[2]+vt[3]+vt[4]; return calculo; } int main() { int vetor[5] = {5,5,5,5,5}; cout<<"\nO vetor 1 vale : "<<vetor[0]; cout<<"\nO vetor 2 vale : "<<vetor[1]; cout<<"\nO vetor 3 vale : "<<vetor[2]; cout<<"\nO vetor 4 vale : "<<vetor[3]; cout<<"\nO vetor 5 vale : "<<vetor[4]; cout<<"\nA Soma total dos vetores eh de : "<<soma(vetor); return 0; } Obrigado ! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 18, 2009 Use o for para fazer a soma. Essa é a intenção de o professor lhe passar um exercício com vetor. Se ele não quisesse que você usasse um loop, teria falado para usar cinco variáveis em vez de um vetor. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Stock 0 Denunciar post Postado Fevereiro 18, 2009 Use o for para fazer a soma. Essa é a intenção de o professor lhe passar um exercício com vetor. Se ele não quisesse que você usasse um loop, teria falado para usar cinco variáveis em vez de um vetor. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Obrigado pela, dica... eu mudei o programa e enviei para ele, vamos ver o que ele vai falar rsrsvlw ! Compartilhar este post Link para o post Compartilhar em outros sites
Jonathan Queiroz 1 Denunciar post Postado Fevereiro 18, 2009 O programa tá bom, mas tem uma coisa ali que poderia ser melhor: int vetor[5] = {5,5,5,5,5};O certo seria declarar um vetor de quatro posições, já que elas iniciam no zero int vetor[4] = {5,5,5,5,5};Não vai causar nenhum erro, mas são 4bytes a mais de memória... Compartilhar este post Link para o post Compartilhar em outros sites
Stock 0 Denunciar post Postado Fevereiro 18, 2009 O programa tá bom, mas tem uma coisa ali que poderia ser melhor: int vetor[5] = {5,5,5,5,5};O certo seria declarar um vetor de quatro posições, já que elas iniciam no zero int vetor[4] = {5,5,5,5,5};Não vai causar nenhum erro, mas são 4bytes a mais de memória...Verdade Amigo ... só que ja enviei para ela ... mas tipo como é um programa pequeno ate que não vai usar muito a memoria mas se fosse um grande com varios espaços vagos na memoria .. eu estaria lascado rsrsobrigado pela dica ! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 18, 2009 O programa tá bom, mas tem uma coisa ali que poderia ser melhor: int vetor[5] = {5,5,5,5,5};O certo seria declarar um vetor de quatro posições, já que elas iniciam no zero int vetor[4] = {5,5,5,5,5};Não vai causar nenhum erro, mas são 4bytes a mais de memória...Não, não. Isso gera erro. Veja: int main () { int v[4] = {1, 2, 3, 4, 5}; return 0; } Resultado da compilação: beraldo@metropolis:~/src$ gcc -Wall teste.c -o teste teste.c: In function ‘main’: teste.c:8: warning: excess elements in array initializer teste.c:8: warning: (near initialization for ‘v’) teste.c:8: warning: unused variable ‘v’ beraldo@metropolis:~/src$ Na declaração, define-se o número de elementos do vetor, não o número do índice em que ele deve finalizar. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Jonathan Queiroz 1 Denunciar post Postado Fevereiro 18, 2009 É mesmo ! Realmente ! Compartilhar este post Link para o post Compartilhar em outros sites