Jump to content

GabrielSI19

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About GabrielSI19

  1. GabrielSI19

    Mudar posições de um vetor

    Boa tarde, estou fazendo um algorítimo mas ele não roda 100% da maneira que devia. Leia um vetor de 20 posições e o compacte, ou seja, elimine as posições com valor zero avançando uma posição com os valores subsequentes do vetor. Dessa forma, todos os "zeros" devem ficar para o final do vetor. O que acontece é que se eu digitar apenas um índice de valor 0 ele é enviado para o final do vetor, porém se houverem mais de dois índices com o valor 0, o primeiro toma a posição final do vetor mas os outros continuam no mesmo lugar. Alguém pode me ajudar?? #include <iostream> #include <stdlib.h> #include <math.h> #include <locale.h> #include <stdio.h> #include <string.h> int main (void) { setlocale(LC_ALL,"Portuguese"); int vet[20]; int i,aux; for(i=0;i<20;i++) //entrada de dados { printf("Digite o valor da posição %d do vetor: ",i); scanf("%d",&vet[i]); } for(i=0;i<20;i++) //operação realizada { if(vet[i]==0) { aux=vet[i]; vet[i]=vet[i+1]; vet[i+1]=aux; } } for(i=0;i<20;i++){ printf("VetorFinal [%d] = %d\n",i,vet[i]); } }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.