Ir ao conteúdo

Posts recomendados

Postado

Escreva uma função que, dado um vetor ordenado, forneça a maior diferença entre duas componentes consecutivas, fornecendo também as ordens das componentes que geraram a maior diferença. Por exemplo, se o vetor dado for v = {3, 5, 9, 16, 17, 20, 26, 31}, a função deve fornecer como maior diferença o valor 7 (16 - 9) e as ordens 4 e 3.

 

ALGUÉM PODE ME DAR UM NORTE PRA AJUDAR NESSA PROGRAMAÇÃO EM C DESSA QUESTÃO DE VETOR, ESTOU COM DIFICULDADE

Postado

@criatividade   vetores são variáveis que podem armazenar muitos dados nela , sendo um em cada posição ,  assim você pode colocar um loop do tamanho da qtd de elementos do vetor e usar uma variável auxiliar para armazenar o maior valor da diferença entre cada número do vetor e o contador que indica a posição do número será a variável de controle do loop , e depois que você fizer um código sobre esse exercício , poste ele aqu e ajudaremos caso precise de alguma correção ,  , .,

Postado
14 horas atrás, criatividade disse:

Por exemplo, se o vetor dado for v = {3, 5, 9, 16, 17, 20, 26, 31}, a função deve fornecer como maior diferença o valor 7 (16 - 9) e as ordens 4 e 3

 

A nomenclatura é um pouco estranha: o mais natural seria dizer "os índices" ou "a posição" e não "as ordens". O vetor tem uma ordem. Só uma. Ordem crescente no caso. E como se está buscando a maior diferença entre valores consecutivos em um vetor ordenado é redundante falar no plural: é óbvio que vem um depois do outro e bastaria o índice do primeiro, contado a partir de 1

 

Em C os índices partem de zero e não de 1 e assim ao mostrar o resultado é preciso claro somar um ao índice para ter a posição do par que tem a maior diferença.

 

Para identificar o par apenas precisa comparar cada elemento com o seguinte. E ir salvando a posição de início da maior diferença. Ao final essa será a resposta.

 

Um único loop. Uma variável para salvar o resultado, outra para ir percorrendo o vetor. 

 

Considere 3,5 e 9 por exemplo: vai comparar 3 com 5 e 5 com 9, os índices 0,1 e 1,2. E vai salvar a maior diferença encontrada até o momento. Quanto o momento for o fim apenas mostra o valor. No caso aqui vai ter 2 como a primeira diferença. ao comparar 5 e 9 tem 4 que é maior que 2, então vai salvar 1 como o início do par de maior diferença. E vai ver que acabou o vetor então 1 será o início do resultado e claro que 2 é o segundo número. Os índices serão 1 e 2 no vetor, mas as posições serão 2 e 3 porque a resposta conta a partir de 1. Nada mais.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!