Ir para o conteúdo
lordqwerty

Troca dos valores de um vector em C

Mensagens Recomendadas

lordqwerty    0
lordqwerty

Boa tarde a todos.

Como novato que sou em programação, as duvidas surgem frequentemente e como acho este forum espectacular decidi voltar a questionar as "grandes cabeças" deste forum!  :D

Tenho o seguinte problema em mão: Escrever e testar uma rotina que troque os elementos de um vector em posição simétrica

face ao seu centro. O programa deve usar funções e apenas um vector.

O código que eu já fiz, com o Dev C++, é o seguinte:

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

#define MAX 500

int* troca (int veta[], int n)
{
  int i, x, trocavet[MAX];
  for (i=1; i<=0; i--)
  {
      for (x=0; x<n; x++)
      {
          trocavet[x]=veta[i-n];
      }
  }

}
    

main ()
{
     int i, n, vet[MAX], j;
     
     printf("Quantos elementos tem o vector: ");  //Peço ao utilizador o tamanho do vector.
     scanf("%d", &n);
     
     printf("Numero: ");
     for (i=0; i<n; i++)
     {      
      scanf("%d\n", &vet[i]);
     }
     
     for (i=0; i<n; i++)               //Aqui apenas estou a testar se o programa guarda os valores inseridos.
     {
         printf("Numero inserido: \n", vet[i]);
     }
getch();
}

Na minha função tenho dois vectores.... porque não sabia como só utilizar uma. E mesmo assim o programa não funciona bem.  :-[

Agradeço toda a ajuda que me derem.

Cumps,

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Baderous    31
Baderous

Não precisas de percorrer o array todo, basta percorrer até ao meio. Em cada iteração trocas (usando uma variável auxiliar) o valor que está na posição i com o valor que está na posição simétrica em relação ao meio do vector, que é indicada pelo índice n-i-1.

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