Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Implementar o algoritmo da ordenação por seleção e incorporar no código um contador que retorne quantas comparações foram feitas e um contador que retorne quantas atribuições foram feitas.
O programa principal deve criar uma sequência aleatória de 1000 posições e então ordenar a sequência. Deve-se imprimir a sequência original, a sequência ordenada e os contadores de comparações e atribuições.
Para o upload, deve ser enviado um único arquivo .c não compactado... Arquivos com extensão .zip .rar e etc serão desconsiderados.
Não consigo fazer a inserção
#include <stdio.h>
#include <stdlib.h>
#define SIZE 1000
typedef int TipoIndice;
typedef struct item
{
TipoIndice chave;
int dado;
} TipoItem;
void insercao(TipoItem *A, TipoIndice n)
{
TipoIndice i,j,Min;
TipoItem x;
for (i=0; i <= n-1; i++)
{
Min=i;
for (j=i+1; j<n; j++)
if (A[j].chave < A[Min].chave)
Min = j;
x = A[Min];
A[Min] = A;
A = x;
}
}
void imprime(TipoItem *A, TipoIndice n)
{
int i;
for (i = 0; i < n; i++)
printf("%d(%d) ", A.chave, A.dado);
}
void preenche(TipoItem *A, TipoIndice n)
{
int i;
srand ( time(NULL) );
for (i = 0; i < n; i++)
{
A.chave = rand()%SIZE;
A.dado = i;
}
}
int main()
{
TipoItem *vetor = malloc(sizeof(TipoItem)*SIZE);
preenche(vetor,SIZE);
insercao(vetor,SIZE);
imprime(vetor,SIZE);
system("pause");
return 0;
}
Carregando comentários...