Jump to content
Fórum Script Brasil
  • 0

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


Urso_Polar

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...