antonio ryan Posted March 23, 2020 at 09:03 PM Share Posted March 23, 2020 at 09:03 PM Pessoal sou iniciante na linguagem de programação em C. Alguém sabe me dizer o que está errado no meu código ? estou a umas 3 horas e nada de acertar esse código. 2) Apresente o funcionamento do algoritmo de ordenação BOLHA, iteração por iteração, dos seguintes vetores: a. [30,10,80,70,90]; meu codigo: #include <stdio.h> void sort(int *arr, int size); int main(){ int a [] = {30, 10, 80, 70, 90}; sort(a, 10); for(int i = 0; i < 10; i++) printf("%d\n", a); return 0; } void sort(int *arr, int size){ int x, y, value; for(x = 10; x < size; x ++){ value = arr[x]; for(y = x - 10; y >= 0 && arr[y] > value; y --){ arr[y+1] = arr[y]; } arr[y+1] = value; } } Link to comment Share on other sites More sharing options...
Administrators Fernando Mercês Posted March 24, 2020 at 07:43 PM Administrators Share Posted March 24, 2020 at 07:43 PM Opa, tem várias coisas incorretas aí. 22 horas atrás, antonio ryan disse: printf("%d\n", a); O certo seria imprimir a. 22 horas atrás, antonio ryan disse: sort(a, 10); O tamanho do array é 5, mas você tá passando 10. 22 horas atrás, antonio ryan disse: for(x = 10; x < size; x ++){ Essa linha diz "enquanto 10 for menor que 10", então nem nada neste bloco será executado... A sua função sort também tá meio confusa. Não entendi bem como você quis fazer. O bubble sort consiste simplesmente em percorrer o array n-1 vezes, onde n é o tamanho do array (ou seja, seu número de elementos) testando se o elemento é menor que o anterior. Se sim, trocam-se. Recomendo estudar mais o bubble sort. Tem muito material na web sobre, além de vídeos no YouTube, etc. Só não pegue nada pronto, do contrário você não aprende e daí seu tempo de estudo é jogado no lixo e a grana e o tempo que você tá investindo neste curso/faculdade também. ? Abraço! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.