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

Dúvida - Troca de posições + maior e menor --> vetor


Urso_Polar

Pergunta

Amigos, estou para entregar um trabalho e empaquei numa parte da lógica.

A questão é: Sem ordenar um vetor de 10 elementos pesquise o maior e menor elemento de um vetor gerado com números aleatórios de semente igual a 280. Em seguida coloque o menor elemento na 1ª posição e o maior na última.

O que fiz até o momento:

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

int vet[10], i, aux1=0, aux2=0, maior=0, menor=vet[1];

srand(time(NULL));

for (i=0; i<10; i++)

{

vet=rand()%280;

cout<<vet<<" ";

}

for (i=0; i<10; i++)

{

if (vet>maior)

{

maior=vet;

}

if (vet<menor)

{

menor=vet;

}

}

aux1=vet[1];

aux2=menor; // muita duvida nesse bloco

aux3=maior;

vet[1]=vet[10];

vet[10]=aux;

cout<<endl;

for (i=1;i<=10;i++)

{

cout<<vet<<" ";

}

cout<<maior<<endl;

cout<<menor<<endl;

cout<<endl;

system ("pause");

}

Alguém tem alguma ideia? Grato desde já!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Percebi que você comete um engano na indexação de vetores.

Por exemplo: você faz vet[1] = vet[10] e vet=[10] = aux;

Mas, sua declaração foi: int vet[10], ou seja, em C o vetor é indexado a partir de 0 (zero) e não de 1, então você tem que usar vet[0] = vet[9] pra dar certo.

Reforcando:

int vetor[10] (pode ser acessado de 0 a 9)

char nome[30] (pode acessar cada elemento entre 0 e 29)

Tenha sempre isso em mente pra não endereçar uma posição que não foi reservada.

Tenta o trecho de código abaixo pra sua solução


maior = menor = vet[0];
for (i=0; i<10; i++)
{

if (vet[i]>maior)
maior=vet[i];
if (vet[i]<menor)
menor=vet[i];
}

// o enunciado não pede pra salvar as posiçoes na lista, apenas pra colocar o menor na primeira posição e o maior na ultima,
// então basta copiar os valores
vet[0] = menor;
vet[9] = maior;
[/codebox]

Qualquer dúvida posta ai.

Abs

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...