Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

phfmiranda

Sistema de Ordenação

Recommended Posts

Boa noite Pessoal,

 

Tenho que fazer um programinha para facul em c, porem não manjo muito, estou precisando de ajuda para achar o erro neste codigo que já montei, se alguem puder ajudar agradeço.

 

#include <stdio.h>
#include <stdlib.h>

void main(){
    int operacao;
     printf("\nDigite a Opcao Desejada\n");
     printf("\n1 - Selecao\n");
     printf("2 - Insercao\n");
     printf("3 - BubleSort\n");
     printf("4 - ShellSort\n\n");
     scanf("\n%d",&operacao);

switch (operacao){ 
case 1:{
   void selecao(int n, int v[]); {
          int i,j,min,aux;
          for(i=0;i<n-1;i++){
                             min+i;
                             for(j=i+1;j<n;j++)
                             if(v[j]<num)
                             min=j;
                             aux=v[min]
                             v[min]=v[i];
                             v[i]=aux;
                             }}
break; 

case 2: 
    void insercao (int n, int v[])
    {
         int i,j,x;
         for (j=i,j<n,j++)
         {
             x=v[j];
             i=j-1;
             while((i>=0)&&(v[i]>x))
             {
                                    v[i+1]=v[i];
                                    i--;
                                    }
                                    v[i+1]=x;
                                    }}
break; 
   
case 3:
      void bublesort(intn, int v[]){
           int i,j,aux;
           for(i=n-1;i>0;i--){
                              for(j=0;j<i;j++){
                                               if(v[j]>v[j+1]){
                                                               aux=v[j];
                                                               v[j]=v[j+1];
                                                               v[j+1]=aux;
                                                               }}}}    
break; 
   
case 4: 
     void shelshort(int v[], int n){
          int i,j,aux,h=1; do
          h=3*h+1;}
          while (h<n); do {
                h/=3;
                for(i=h;i<n;i++){
                                 aux=v[i];
                                 j=i-h;
                                 while((j>=0)&&(v[j]>aux)){
                                                           v[j+h]=v[j];
                                                           j-=h }
                                                           v[j+h]=aux; }}
                                                           while (h>1);}                                                     
break; 
}
system ("pause");
getch();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

intão posso da umas dicas???

 

idente um pouco melhor... isso facilita na hora de achar bugs...

 

exemplo:

 

1º reserve um espaço no inicio do programa para a declaração das variaveis e se possivel documente explique para que cada variável serve...

 

2º faça a mesma coisa para as funções que seu programa utilizará

 

3º leia atentamente as mensagens que o seu compilador mostra, pois existe muito errinho bobo de sintaxe(escrita)

 

acho que fazendo isso ja resolve bastante...

 

e pergunta depois de ordenar ou fazer as operações não deveria mostra alguma coisa na tela??? ou grava em arquivo alguma coisa do tipo???

 

flwwwwwwwwww

espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom olhei rapidamente mas percebi alguns erros:

 

1) void selecao(int n, int v[]); { , não deveria haver esse ; aqui.

 

2)void shelshort(int v[], int n){ , deveria haver uma { depois desse do

int i,j,aux,h=1; do

h=3*h+1;}

 

Pode ser que tenha mais alguma coisa errada. Procure também declarar os voids antes da função principal( modularize seu código), pois desse modo fica

mais legível. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.