Logo Hardware.com.br
Responder
Etinin
Etinin Veterano Registrado
1.3K Mensagens 34 Curtidas
#2 Por Etinin
27/10/2009 - 14:06
Faz um for, vai comparando até o índice chegar ao último valor do vetor. Dentro do for coloque um if que compara o valor atual da array com o maior valor (deve-se criar uma variável antes do loop para armazenar esse valor ou, se interessar, pode armazenar o índice do maior valor). Se o valor atual for maior que a variável, iguale-a ao valor atual.

Escrevi toda a lógica aí, tente passar para C e se tiver alguma dúvida, poste o código para que possamos ajudar.
Core 2 Quad Q6600 | Asus P5Q Deluxe | 2GB RAM | XFX 9800GTX+ | Unicomp SpaceSaver
Gentoo Linux / Windows 7

MacBook Pro 13" (2010) - Core 2 Duo 2.4 GHz | 4GB RAM | GeForce 320M
Darwin/x86 (Mac OS X 10.7)

iPhone 4 - Apple A4 (Cortex-A8 1GHz) | 512MB RAM | 16GB SSD
Darwin/ARM (iOS 5)
Evolution_MC2
Evolution_MC... Membro Senior Registrado
181 Mensagens 1 Curtida
#3 Por Evolution_MC...
27/10/2009 - 14:16
Etinin disse:
Faz um for, vai comparando até o índice chegar ao último valor do vetor. Dentro do for coloque um if que compara o valor atual da array com o maior valor (deve-se criar uma variável antes do loop para armazenar esse valor ou, se interessar, pode armazenar o índice do maior valor). Se o valor atual for maior que a variável, iguale-a ao valor atual.

Escrevi toda a lógica aí, tente passar para C e se tiver alguma dúvida, poste o código para que possamos ajudar.


bem pensado!!!!nao_sei.gif

estava fazendo assim, porém acabei verificando com a primeira pos. com a próxima pos.

segue o código para quem precisar...vlw

for(i=0;i {
if(vlr < *(pvet+i))
{
vlr=*(pvet+i);
}
}

lembrando que vlr=1;
bom_trabalho.gif Antes de tudo, pare, pense e reflita no seu próximo passo, pois pode ser o últimotrabalho_duro.gif
jose_silva_neto
jose_silva_n... General de Pijama Registrado
4.6K Mensagens 98 Curtidas
#4 Por jose_silva_n...
27/10/2009 - 14:54
Dê uma olhada no código abaixo e poste suas dúvidas (se tiver é claro), assim eu também aprendo.

Fique com Deus


#include <stdio.h>
#include <stdlib.h>


int main(int argc, char **argv)
{

float numero_max; // elemento máximo do vetor
float *vetor; // vetor que será alocado dinâmicamente
int i; //contador;
int n; // número de elementos do vetor

// Apenas imprime o nome do programa
printf("O nome do programa é %s\n\n",argv[0]);

// Solicita ao usuário o número de elementos do vetor
printf("Entre com o número de elementos do vetor &quot;
scanf("%i",&n);

system("clear || cls&quot;

printf("\nVocê escolheu um vetor com %i elementos \n",n);

// alocando o vetor dinâmicamente
vetor = (float*) malloc(n*sizeof(float));

// populando o vetor
for (i = 0;i < n;++i)
{
printf("Entre com o elemento %i do vetor ",i + 1);
scanf("%f",&vetor[i]);
}

// Busca o elemento máximo
numero_max = vetor[0];
for (i = 0;i < n;++i)
if (vetor[i] > numero_max)
numero_max = vetor[i];


//Imprime os elementos do vetor e o máximo
printf("\n\nElementos do vetor : &quot;
for (i = 0;i < n;++i)
printf("%.2f ",vetor[i]);

printf("\nO elemento máximo é o %.2f\n",numero_max);


// Liberando a memória alocada dinâmicamente
free(vetor);

// encerra o programa de forma correta
return(0);


}

tpcvasco
tpcvasco General de Pijama Registrado
2.9K Mensagens 330 Curtidas
#5 Por tpcvasco
27/10/2009 - 15:10
jose_silva_neto disse:
Dê uma olhada no código abaixo e poste suas dúvidas (se tiver é claro), assim eu também aprendo.


Sempre lembrando q vc deve inicializar numero_max com um valor bem baixo, senão seu programa pode ter resultado indefinido.
"Milhouse: - Médicos e bombeiros são heróis.
Bart Simpson: - Olha, as casas continuam pegando fogo e as pessoas continuam doentes. Os verdadeiros heróis são os Schwarzenegger's, os Stallone's, e, em menores proporções, os Vandame's..."
tpcvasco
tpcvasco General de Pijama Registrado
2.9K Mensagens 330 Curtidas
#7 Por tpcvasco
27/10/2009 - 15:42
jose_silva_neto disse:
Por favor, poderia explicar de forma mais explícita ?


Depois é q eu vi q vc inicializa a variável com a linha
numero_max = vetor[0];

Isso já resolve o problema, mas caso ela não existisse, o compilador poderia inicializar a variável com qq valor aleatório, por exemplo, numero_max=99999999.
Se todos os valores do seu vetor forem menores do q isso, o maior valor nunca será encontrado.
"Milhouse: - Médicos e bombeiros são heróis.
Bart Simpson: - Olha, as casas continuam pegando fogo e as pessoas continuam doentes. Os verdadeiros heróis são os Schwarzenegger's, os Stallone's, e, em menores proporções, os Vandame's..."
jose_silva_neto
jose_silva_n... General de Pijama Registrado
4.6K Mensagens 98 Curtidas
#8 Por jose_silva_n...
27/10/2009 - 16:48
tpcvasco disse:
Depois é q eu vi q vc inicializa a variável com a linha
numero_max = vetor[0];

Isso já resolve o problema, mas caso ela não existisse, o compilador poderia inicializar a variável com qq valor aleatório, por exemplo, numero_max=99999999.
Se todos os valores do seu vetor forem menores do q isso, o maior valor nunca será encontrado.


Entendi, muito obrigado. Eu pedi para você explicar de forma mais explícita porque assim qualquer um de nós (iniciante) entende.


Fique com Deus
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal