dreand Postado Fevereiro 17, 2009 Denunciar Share Postado Fevereiro 17, 2009 Galera, o programa é muito simpless, porem não ta fazendo tudo que espero sera que poderiam me ajudar com o codigo abaixo?#include<iostream>using namespace std;int soma (int array[5]){ int soma=0; for(int i = 0; i < 5; i++); soma += array[5];}int main(){ int array [5] = {2, 7, 1, 5, 6}; cout<<"Soma: "<<soma; return 0;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Maligno Postado Fevereiro 18, 2009 Denunciar Share Postado Fevereiro 18, 2009 São vários erros. Quase todos por distração. Por partes:1) A malha for de soma() está finalizado e a soma abaixo dela é uma simples operação de única iteração. Ela está fora da malha. Então, remova o ponto-e-vírgula da malha. Dica: cuidado com os ponto-e-vírgulas. Se faltar um que seja, o compilador vai engasgar e muitas vezes o erro apontado não tem nada a ver com o erro real.2) A soma está como soma += array[5]. Você usou uma constante. Deveria utilizar a variável i que controla a iteração. Portanto, o correto é soma += array. Aliás, a constante 5 que você usou aponta para um elemento que sequer existe na matriz. Lembre-se de que a numeração começa em zero.3) A função soma() não retorna o resultado da soma, apesar de sua declaração indicar que há um retorno.4) A exibição do resultado está como cout<<"Soma: "<<soma, mas que soma é essa? Não é o resultado da soma. Isso nem deve compilar. O correto é cout<<"Soma: "<<soma(array). Note que soma na função soma() é uma variável de escopo limitado à função em que foi declarada. Logo, esta variável deixa de existir quando soma() finalizar. Dica: procure usar nomes diferentes, para evitar qualquer confusão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dreand Postado Fevereiro 18, 2009 Autor Denunciar Share Postado Fevereiro 18, 2009 ok, porem mesmo fazendo as mudanças que me falou continua não somando, ele da um resultado muito grande para os numeros, oque pode estar ocorrendo #include<iostream>using namespace std;int soma (int array[]){ int soma=0; for(int i = 0; i < 5; i++) soma += array;}int main(){ int array [5] = {2, 7, 1, 5, 6}; cout<<"Resultado: "<<soma(array); return 0;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GabrielCardelli Postado Fevereiro 18, 2009 Denunciar Share Postado Fevereiro 18, 2009 int soma (int a[]) { int cont,int i=0; int soma=0; cont = strlen(a); for(i = 0; i <= cont; i++) soma = soma + a[i]; return (soma); } int main() { int array [] = {2, 7, 1, 5, 6}; cout<<"Resultado: "<<soma(array); return 0; }cara nunca mexi com C++ vê se funciona ae!!abcAbraço!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dreand Postado Fevereiro 18, 2009 Autor Denunciar Share Postado Fevereiro 18, 2009 Nada, não é isto não, o problema ta no armazenamento do resultado,e não sei como resolver, fazer ele ta fazendo, mas não ta armazenando, não sei oque é Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Maligno Postado Fevereiro 18, 2009 Denunciar Share Postado Fevereiro 18, 2009 Nada, não é isto não, o problema ta no armazenamento do resultado,e não sei como resolver, fazer ele ta fazendo, mas não ta armazenando, não sei oque éOutra distração, mesmo depois que eu já cantei a bola. A função soma() continua não devolvendo o resultado da soma. Mais atenção! :)Fiz uma versão corrigida aqui e testei. Ela está funcionando perfeitamente. Mas não usei o stream pra saída porque meu gcc resolveu dar pau. Como era coisa rápida mesmo e o problema não está na saída, usei printf().#include <stdio.h> int soma(int array[]) { int soma=0; for(int i = 0; i < 5; i++) soma += array[i]; return soma; } int main() { int array[] = {2,7,1,5,6}; printf("Soma: %d\n",soma(array)); return 0; }cont = strlen(a);Cuidado você também com a distração. Aqui você tenta colocar um ponteiro de inteiro no lugar de um ponteiro constante de char. Isso não passa nem a pau. :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
dreand
Galera, o programa é muito simpless, porem não ta fazendo tudo que espero sera que poderiam me ajudar com o codigo abaixo?
#include<iostream>
using namespace std;
int soma (int array[5])
{
int soma=0;
for(int i = 0; i < 5; i++);
soma += array[5];
}
int main()
{
int array [5] = {2, 7, 1, 5, 6};
cout<<"Soma: "<<soma;
return 0;
}
Link para o comentário
Compartilhar em outros sites
5 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.