schamaiah 0 Denunciar post Postado Novembro 24, 2008 preciso de ajuda para resolucao de um programa da facul Compartilhar este post Link para o post Compartilhar em outros sites
schamaiah 0 Denunciar post Postado Novembro 24, 2008 o codigo e este ai ate onde eu e uma colega fizemos?? #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> #include <iostream> int main () { int j,aux,p[10],*q=NULL,qtde,opc,x,y, v[10],temp; using namespace std; printf ("___________________________________________________________________________ ____"); printf ("\n| ????????????????????????????????????????????????????????????????????????????? |"); printf ("\n|_________________________________________________________________________ ____|"); printf ("\n| ???????????????????????????????????????????????????????????????????????? |"); printf ("\n| |"); printf ("\n|---------------------------------- MENU--------------------------------------|");//MENU DE ESCOLHA printf ("\n| 1-Insercao direta |"); printf ("\n| 2-Metodo Bolha |"); printf ("\n| 3-Seleçao |"); printf ("\n| 4-Inserçao |"); printf ("\n| 5-Shell Sort |"); printf ("\n| 6-Quick Sort |"); printf ("\n| 7-Resultados |"); printf ("\n| 8-Encerrar |"); printf ("\n|_________________________________________________________________________ ____|"); int trocas=0; do { printf("\n\t Informe Sua opcao : "); scanf("%d",&opc); switch(opc) { //-------------------------------------------INSERÇÂO DIRETA------------------------------------ case 1: //Gera o vetor com o numero de posiçoes escolhida int vet[10]; int i, j, x; printf ("\nSua opcao foi ---INSERCAO DIRETA--- \n\t"); printf("Insira 10 numeros:\n"); for(i=0; i<10; i++) { scanf("%d",&vet[i]); } for (int i=1;i<10;i++) { temp = vet[i]; j=(i-1); while(j>=0 && vet[j]>temp) { vet[j+1] = vet[j];//vetor na posção j+1 recebe o vetor na posição j trocas = trocas +1; j--;//j diminui 1 vet[j+1] = temp; //vet na posição j+1 } } for(i=0; i<10; i++) { printf("\ni=>: %d ",vet[i]); getch(); } break; //----------------------------METODO BOLHA------------------------------------------------ [b]//O METODO BOLHA IMPRIME FAZ TROCA , MAS NAO IMPRIME TODO O PROCESSO LINHA A LINHA E EU PRECISO QUE ELE IMPRIMA LINHA A LINHA[/b] case 2: //Metodo Bolha x=0; //int vet[10]; // int i, j, x; // clrscr(); printf ("\n\tSua opcao foi ---METODO BOLHA--- \n\t"); printf("\n\n"); printf("\n\t Insira 10 numeros: ");//gera vetor com 10 posiçoes for(i=0; i<10; i++) { // printf("Num%d: ",i); scanf("\t%d",&vet[i]); } for(i=10;i>0;i--) { for(j=0;j-1 < i-1;j++)//j na posição j-1 e i na posição -1 { if(vet[j]>vet[j+1])//se vetor j maior q vetor j+1 { temp= vet[j+1]; //temp recebe vet j+1 vet[j+1]=vet[j]; //vet j+1 vai rever vetor na posição j vet[j]=temp; //vetor na posição j vai receber o que esta armazenado em temp trocas = trocas +1; //e troca vai receberr = 1 } // printf("\n\n"); for(j=0;j<10;j++) //quando vetor chega ao tamanho 10 { printf(" %d ",vet[j]); getch(); } break; } } //-------------------------SELEÇAO DIRETA--------------------------------------------------- [b]//IMPRIME MAS A MESMA LINHA VARIAS VEZES , NAO LINHA ALINHA DAS TROCAS COMO TEM QUE SER[/b] case 3: //Selecao direta printf("\tNao disponivel\n"); break; case 4: //Insercao Direta //for break; case 5: //Shell Sort printf("\t Nao disponivel\n"); break; case 6://Quick Sort printf("\t Nao disponivel\n"); break; case 7: //Mostrar resultados das operações system("cls"); printf("\n\t .:Resultados:.\n\n\n"); printf("trocas: %d \n\n\n", trocas); system("pause"); opc = 8; break; case 8: //sair system("cls"); break; }//switch }//else //}//do while(opc!=8); if(p != NULL) free(p); }//main Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Novembro 25, 2008 Se quer que o método da bolha imprima as linhas coloque o printf dentro do for.... //IMPRIME MAS A MESMA LINHA VARIAS VEZES , NAO LINHA ALINHA DAS TROCAS COMO TEM QUE SER case 3: //Selecao direta printf("\tNao disponivel\n"); break; Implemente o algoritmo primeiro. Compartilhar este post Link para o post Compartilhar em outros sites
schamaiah 0 Denunciar post Postado Novembro 25, 2008 Se quer que o método da bolha imprima as linhas coloque o printf dentro do for.... //IMPRIME MAS A MESMA LINHA VARIAS VEZES , NAO LINHA ALINHA DAS TROCAS COMO TEM QUE SER case 3: //Selecao direta printf("\tNao disponivel\n"); break; Implemente o algoritmo primeiro. vlw ai... Compartilhar este post Link para o post Compartilhar em outros sites
schamaiah 0 Denunciar post Postado Novembro 26, 2008 RESOLVIDO PARTE AGORA problema com quick sort che a imprimir mas nao realiza operação nenhuma printf ("\nSua opcao foi ---QUICK SORT --- \n\t"); printf("Insira 10 numeros:\n"); int separa; for(i=0; i<10; i++) { scanf("%d",&vet[i]); } for (int i=1;i<10;i++) { while (vet[i] < vet[j]) { temp = (x, i, j); if (temp - vet[i] < vet[j] - temp) { [b]quickSort[/b]= (x,i, temp-1); vet[i] = temp+ 1; } else { [b] quickSort[/b]= (x, temp+1, i); vet[j] = temp - 1; } for(j=0;j<10;j++) //quando vetor chega ao tamanho 10 printf("\t %d ",vet[i]); getch(); } } Compartilhar este post Link para o post Compartilhar em outros sites
schamaiah 0 Denunciar post Postado Novembro 26, 2008 So quero ideia do q posso faze se tem outra forma pra fazer, quais são o erros??? Se possivel agradeço!!! Compartilhar este post Link para o post Compartilhar em outros sites