Ir para conteúdo
Fórum Script Brasil
  • 0

Problema em compilar programa em C++


dreand

Pergunta

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

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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;

}

Link para o comentário
Compartilhar em outros sites

  • 0

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!!

abc

Abraço!!

Link para o comentário
Compartilhar em outros sites

  • 0
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. :)

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...