Skip to content

Instantly share code, notes, and snippets.

@blogdarkspot
Last active November 15, 2018 19:24
Show Gist options
  • Save blogdarkspot/91407bcabd97d68144cc77aad8448b41 to your computer and use it in GitHub Desktop.
Save blogdarkspot/91407bcabd97d68144cc77aad8448b41 to your computer and use it in GitHub Desktop.
#include <stdio.h>
int main(){
int a[10],b[10],i,j,f;
// receber vetor a
for (i=0;i<10;i++){
printf("digite o valor de %d:",i+1);
scanf("%d",&a[i]);
}
// zerar vetor b
//dica não zere o vetor coloque -1 assim você vai saber quais posições já foram preenchidas
for (i=0;i<10;i++){
b[i]=0;
}
b[0]=a[0]; //não é para colocar o valor que está no indice, mas sim o valor do indice, aqui no caso não é a[0] e sim 0;
for (f=0;f<10;f++){ //começa da posição 1 não da zero, você já adicionou a primeira posição no vetor B lembra?
for (j=0;j<10;j++){ // Ok também, mas faça o for até ser menor 10 ou a posição ser igual a -1
if (a[f]<=a[b[j]]){ //aqui está certo
/*
* Aqui você tem que fazer o seguinte:
* na posição b[j] você tem que colocar o valor de f e não de a[f], mas antes você precisa ajustar o vetor.
* para ajustar o vetor você precisa coloca os valores 1 posição para frente exemplo:
* se no vetor B você já tem b = [2,0,1,-1,-1,-1,-1,-1,-1,-1]
* e você viu que a posição 3 é menor que a posição 1 você tem que deixar o vetor assim:
* b = [2,0,3,1,-1,-1,-1,-1,-1,-1]
* outra coisa, quando terminar de adicionar, você tem que inciar o primeiro loop novamente, então aqui você pode colocar um break.
*/
b[j]=a[f];
}
}
}
//mostrar vetor b
for(i=0;i<10;i++){
printf("\n%d",b[i]);
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment