ordepavr Posted March 13, 2009 at 09:20 AM Report Share #250459 Posted March 13, 2009 at 09:20 AM Olá, eu queria fazer um programa em C em que o utilizador insere X valores e depois ele ordena, por exemplo: o utilizador insere 1 3 4 2 5 e o programa mostra 1 2 3 4 5 isto usando vectores. Se alguem me puder ajudar agradeço 🙂 cumps. Pedro Lopes "Programming is like sex: one mistake and you're providing support for a lifetime.""A exigência conduz à excelência" Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted March 13, 2009 at 09:34 AM Report Share #250463 Posted March 13, 2009 at 09:34 AM Procura no google por QuickSort, ou por BubbleSort, ou, genericamente, "Sorting Algorithm". É o que procuras. Basicamente, tens que ir pôr os valores que o utilizador introduz num vector (acho eu) e depois percorrer o vector mudando de sítio os valores com base em comparações. Link to comment Share on other sites More sharing options...
Cypher Posted March 13, 2009 at 12:22 PM Report Share #250498 Posted March 13, 2009 at 12:22 PM Ideia base vais ler 5 numeros, entao, metes dentro de uma estrutura for, a ler os 5 numeros, depois, podes utilizar um funcao, onde passas o vector na função, e podes utilizar um daqueles algoritmos. Há exemplos dos algorimtos na wikipedia, em várias linguagem, dá uma olhadela... Cumps... Link to comment Share on other sites More sharing options...
SunShade Posted March 13, 2009 at 04:24 PM Report Share #250562 Posted March 13, 2009 at 04:24 PM vai ao wikipedia e procura la codigo de um bublesort ou de um quicksort mas tenta perceber os algoritmos. Link to comment Share on other sites More sharing options...
Betovsky Posted March 13, 2009 at 04:54 PM Report Share #250570 Posted March 13, 2009 at 04:54 PM Procura antes por Insertion Sort, para o teu caso é capaz de ser a melhor opção já que é muito simples... Basicamente ao inserires, já irás estar a inserir de uma forma ordenada. Quando o utilizador já tiver introduzido todos os números o teu vector já estará ordenado. "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
Darkblood Posted March 15, 2009 at 01:12 AM Report Share #250780 Posted March 15, 2009 at 01:12 AM Tens 3 métodos: Selecção Bubblesort Inserção O de selecção consiste em procurares o maior número da tabela e pô-lo na última posição. Á medida que fazes isto tens que ir diminuindo a tabela de modo a excluir os maiores que já puseste para o fim. O bubblesort consiste em comparar com valor vizinho (do lado direito), se for maior maior trocas as posições. Tens que percorrer a tabela várias vezes e quando não houver nenhuma troca é porque já está ordenado. O de inserção já não sei bem, tens que googlar. 😉 Link to comment Share on other sites More sharing options...
Rat Posted March 16, 2009 at 11:15 AM Report Share #250943 Posted March 16, 2009 at 11:15 AM fiz este codigo (made in windows ) rapidinho antes de ir para a escola, so para veres e tirares umas ideias... O utilizador insere 5 numeros eles sao testados e postos por ordem #include <stdio.h> int main() { int a=5; int b=0; int pos=0; int arr[5]; int final[5]; while(b<a) { printf("insira o valor %d: ", b); scanf("%d", &arr[b]); b++; } b=0; a=1; while(b!=5) { while(a!=5) { if(arr[b]>arr[a]) { pos++; } a++; } final[pos]=arr[b]; b++; pos=0; a=0; } while(a!=5) { printf("%d\n", final[a]); a++; } } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now