Ir para conteúdo

POWERED BY:

Arquivado

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

schamaiah

Programa de inserCAO, selecao, pesquisa binaria

Recommended Posts

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

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

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

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

×

Informação importante

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