Ir para o conteúdo
jamirooo

[Resolvido] maximo de um vector de inteiros

Mensagens Recomendadas

jamirooo    0
jamirooo

Boas! as minhas "aventuras" com apontadores continuam... e o que para mim faz sentido, parece que na prática não faz tanto sentido assim.... :wallbash:

A duvida é, como indica o assunto do tópico, criar um programa que encontre o valor maximo de um vector de inteiros...

#include <stdio.h>
int max(int i []){ 
int maxAux=0;
int *max;
max = i;
while(*max != '\0'){
if(*max >= maxAux){
maxAux = *max;
max++;
}else{
max++;
}}
return maxAux;
}
int main() {
int i [21];
printf("Quais os numeros?\n");
scanf("%20d", i);
int maxi = max(i);
printf("maximo: %d\n", maxi);
return 0;
}

depois do programa compilado , executo, insiro os numeros..por exemplo "1234" e ele devolve

"1990186656" que eu penso que seja o endereço de memória do vector...

eu nao estou mesmo a ver onde é o problema pois na variável "maxAux" eu guardo o valor *max que supostamente deveria conter os valores que constituem o vector e não o seu endereço... ;)

Desde já, Obrigado...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jamirooo    0
jamirooo

#include <stdio.h>
#define N 1
int max(int i []){ 
int maxAux=0;
int *max;
max = i;
while(*max != '\0'){
if(*max >= maxAux){
maxAux = *max;
max++;
}else{
max++;
}}
return maxAux;
}

int main() {
int i [N];
int y;
printf("Quais os numeros?\n");
for(y=0;y<N;y++){
scanf("%d", &i[y]);
}
int maxi = max(i);
printf("maximo: %d\n", maxi);
return 0;
}

continua a devolver-me um endereço de memória,  e obrigado pela dica... ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Baderous    31
Baderous

Estás a testar  o caso de paragem da travessia dum array de inteiros com a presença do caracter '\0'. O que tens de fazer é percorrer o array até N-1, isto é:

/*blablabla*/
int j=0;
while (j<N)
//Blablabla
j++;

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Njay    0
Njay

Agora só te falta indentar o código correctamente. Ainda bem que já alguém te respondeu, porque eu já nem olho para código não indentado. Muito dificil de ler para quem já passa o dia a olhar para código.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Agora só te falta indentar o código correctamente. Ainda bem que já alguém te respondeu, porque eu já nem olho para código não indentado. Muito dificil de ler para quem já passa o dia a olhar para código.

Também foi a razão porque nem olhei para a função max... ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade