antonio ryan Postado Março 23, 2020 em 20:57 Compartilhar Postado Março 23, 2020 em 20:57 Pessoal, boa tarde . Sou iniciante em linguagem C, e por isso estou com dificuldades pra conseguir identificar o erro. Me digam por favor o que está errado nesse código, e me digam como resolver!! professor me passou 1 exercicios para resolver e não estou conseguindo achar o erro! 1º Apresente o funcionamento do algoritmo de ordenação INSERÇÃO, iteração por iteração, dos seguintes vetores: [50,20,10,15,21]; #include <stdio.h> void sort(int *arr, int size); int main(){ int a [] = {50, 20, 10, 15, 21}; 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 para o comentário Compartilhar em outros sites More sharing options...
Marioh Postado Março 23, 2020 em 21:10 Compartilhar Postado Março 23, 2020 em 21:10 No printf falta os colchetes no 'a' como a[ i ] Link para o comentário Compartilhar em outros sites More sharing options...
Marioh Postado Março 23, 2020 em 21:27 Compartilhar Postado Março 23, 2020 em 21:27 creio que a logica do teu primeiro for esteja errada tbm pq ele nunca vai ser executado com valores menores que 11. Talvez o teu x deva ser 0 ? Alem disso tu esta lendo mais do que teu vetor e assim tu vai pegar lixo na memoria. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.