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

Duvida Simples em C++


G.Meneses

Pergunta

Sou iniciante em programação em C++, ai fui fazer uns testes simples, é um programa que diz qual o maior e o menor numero.

Estou usando o Visual Studio C++.

O erro diz: ''Error LNK2019 An undefined external symbol was found in function...''

Não consegui encontrar o erro, segue o código

#include<iostream>
using namespace std;

int maior (int valor);
int menor (int val);

int main()
{
    int v[5], i, ma=0, me, aux;

    cout << "********* Programa que diz o maior e menor numero **********\n";
    me = 99999;
    for (i=1;i<=5;i++)
    {
       cout << "Valor: " << i;
       cin >> aux;
       v[i] = aux;
    }

    ma = maior (v[5]);
    me = menor (v[5]);

    cout << "\nMaior valor: " << ma << endl;
    cout << "\nMenor valor: " << me << endl;

    system("Pause");
    return 0;
}
    int maior (int v[5])
    {
        int i, ma=0, me=99999;
       for(i=1;i<=5;i++)
       {
           if(v[i] > ma){
                  ma=v[i];
           }
       }
           return v[5];
       }

       int menor (int v[5])
       {
           int i, ma=0, me=99999;
           for(i=1;i<=5;i++)
           {
               if(v[i] < me){
                        me=v[i];
           }
           }
           return v[1];
       }

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Aqui está um erro:

int maior (int valor);
int menor (int val);

Esta funcão deve receber um ponteiro para inteiro, ou então um vetor(o que é a mesma coisa)

Assim:

int maior (int valor[]);

int menor (int val[]);

[\code]

e o mesmo deve se repetir na funcao propriamente dita...o cabecalho da funcao deve ser igual ao prototipo.

---

[code]

ma = maior (v[5]);

me = menor (v[5]);

[\code]

Então aqui segue se 2 coisas incoerentes se voce quer passar o vetor todo voce deve passar somente o v e não v[5] além do mais v[5] não existe pois o vetor vai de 0..4.. Ok?

voce deve retornar o ma no maior e o me no menor... e não uma posicao do vetor... Ok?

Por fim está funcao sua também está um pouco incoerente.. voce não pode chamar 0 de menor e 99999 de maior.. pois sempre existe um numero menor ou maior que estes dois que podem estar no vetor

O que deve se fazer é iniciar o me e o ma com a primeira posicao do vetor, e veficicar se existe um maior que este dentro do vetor(na func maior) e um menor que este dentro do vetor (na func menor)

Entendeu?

Abraco

Uma dica boa pra encontrar erros no código é utilizar o modo 'debug'

Abraco

Ahhh.. no for que varre o vetor deve ser variado de 0 até 4 e não de 1 até 5....

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado, fiz:

int maior (int valor[]);
int menor (int val[]);
---
ma = maior (v);
    me = menor (v);

E retornei o ma e me como dito por você na funções.

Só mais uma duvida:

Quando eu faço o Debug do programa após pressionar a tecla para sair do programa aparece a seguinte mensagem:

"Run-Time Check Failure #2 - Stack around the variable 'v' was corrupted."

E, em outro programa de teste que fiz apareceu essa mesma mensagem do Visual Studio.

Essa mensagem de falha influencia em algo?

Link para o comentário
Compartilhar em outros sites

  • 0

Olha... eu não utilizo o Visual Studio C++, consequentemente eu não utilizo o compilador da microsoft(acho que é o dev c++, não tenho certeza) eu uso o gcc... nunca ocorreu este erro no debuguer dele não.. mas como ocorre no final da execucao acredito que não tenha nenhum problema não.. =/

Abraco

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