#include "stdio.h"
#include "stdlib.h"
char Nome[]="QUICKSORT";
int compare (const void * a, const void * b)
{
return ( *(char*)a - *(char*)b );
}
void main ()
{
int n;
qsort (Nome, 10, sizeof(char), compare);
for (n=0; n<10; n++)
printf ("%c\t",Nome[n]);
getchar();
}
TESTADO E FUNCIONANDO
Programas na Linguagem C/C++ e JAVA, são muito bem vindos uma vez que todo programa adicionado seja testado anteriormente e compilado com sucesso.
segunda-feira, 15 de junho de 2009
InsertionSort
#include "stdio.h"
#include "stdlib.h"
void Insercao(int n, char A[]){
int i,j;
int x;
for(i = 0;i < n;i++){
x=A[i];
//A[0]=x;//sentinela
j=i-1;
while(x < A[j]){
A[j+1] = A[j];
j--;
}
A[j+1] = x;
}
}
int main(){
char Nome[]="INSERIR";
Insercao(8,Nome);
int i;
for (i = 0; i < 8; i++){
if (i != 0)
printf("%c\t", Nome[i]);
}
getchar();
}
TESTADO E FUNCIONANDO
#include "stdlib.h"
void Insercao(int n, char A[]){
int i,j;
int x;
for(i = 0;i < n;i++){
x=A[i];
//A[0]=x;//sentinela
j=i-1;
while(x < A[j]){
A[j+1] = A[j];
j--;
}
A[j+1] = x;
}
}
int main(){
char Nome[]="INSERIR";
Insercao(8,Nome);
int i;
for (i = 0; i < 8; i++){
if (i != 0)
printf("%c\t", Nome[i]);
}
getchar();
}
TESTADO E FUNCIONANDO
SelectionSort
#include "stdio.h"
#include "stdlib.h"
void ordenarSelecao(int n, char v[]){
int i, j, min, x;
for (i = 0; i < n - 1; i++){
min = i;
for (j = i + 1; j < n; j++){
if (v[j] < v[min]) min = j;
}
x = v[i];
v[i] = v[min];
v[min] = x;
}
}
int main(){
char Nome[]="SELECAO";
ordenarSelecao(8,Nome);
int i;
for (i = 0; i < 8; i++){
if (i != 0)
printf("%c\t", Nome[i]);
}
getchar();
}
TESTADO E FUNCIONANDO
#include "stdlib.h"
void ordenarSelecao(int n, char v[]){
int i, j, min, x;
for (i = 0; i < n - 1; i++){
min = i;
for (j = i + 1; j < n; j++){
if (v[j] < v[min]) min = j;
}
x = v[i];
v[i] = v[min];
v[min] = x;
}
}
int main(){
char Nome[]="SELECAO";
ordenarSelecao(8,Nome);
int i;
for (i = 0; i < 8; i++){
if (i != 0)
printf("%c\t", Nome[i]);
}
getchar();
}
TESTADO E FUNCIONANDO
segunda-feira, 8 de junho de 2009
Filas C++
#include "stdio.h"
#include "stdlib.h"
#include "sys/time.h"
#include "iostream"
#define TAM 1000
using namespace std;
typedef int Apontador;
typedef int TipoChave;
typedef struct {
TipoChave chave;
/* outros componentes */
} TipoItem;
typedef struct {
TipoItem Item[TAM];
Apontador Frente, Tras,TAMANHO;
} TipoFila;
int tamanho (TipoFila p)
{
return (p.TAMANHO);
}
void FFVazia(TipoFila *Fila)
{
Fila->Frente = 1;
Fila->Tras = Fila->Frente;
} /* FFVazia */
int Vazia(TipoFila Fila)
{
return (Fila.Frente == Fila.Tras);
} /* Vazia */
void Enfileira(TipoItem x, TipoFila *Fila)
{
if (Fila->Tras % TAM + 1 == Fila->Frente)
printf("ERRO!!!QUANTIDADE MAXIMA DE PROCESSOS NA ESPERA\n");
else { Fila->Item[Fila->Tras - 1] = x;
Fila->Tras = Fila->Tras % TAM + 1;
Fila ->TAMANHO++;
}
} /* Enfileira */
void Desenfileira(TipoFila *Fila, TipoItem *Item)
{
if (Vazia(*Fila))
printf("ERRO!!!\nNAO EXISTEM PROCESSOS\n");
else { *Item = Fila->Item[Fila->Frente - 1];
Fila->Frente = Fila->Frente % TAM + 1;
Fila ->TAMANHO--;
}
} /* Desenfileira */
void Imprime(TipoFila Fila)
{
int Aux;
for (Aux = Fila.Frente - 1; Aux <= (Fila.Tras - 2); Aux++) printf("PROCESSO DE NUMERO%12d\n", Fila.Item[Aux].chave); } /* Imprime */ /////////////////////////////////////////////////////////////////////////////////////////////////// int main(int argc, char *argv[]) { TipoFila fila; TipoItem item; int i=0, j, k, p, op; FFVazia(&fila); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); do switch(op){ case 1: system("cls"); printf("DIGITE O NUMERO DO PROCESSO QUE DESEJA INSERIR:\n"); scanf("%d",&p); item.chave = p; Enfileira(item, &fila); system("cls"); printf("O PROCESSO %d FOI INSERIDO COM SUCESSO !!!\n\n", item.chave); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); i++; break; case 2: system("cls"); if(Vazia(fila)){ Desenfileira(&fila, &item); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } else{ Desenfileira(&fila, &item); printf("O PROCESSO: %d JA FOI RETIRADO DA FILA.\n\n", item.chave); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } break; case 3: if(Vazia(fila)){ system("cls"); printf("ERRO!!!NAO EXISTEM PROCESSOS NA FILA\n"); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } else{ system("cls"); Imprime(fila); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } break; case 4: system("cls"); cout<<"Tamanho da Fila\n"<NULL");
return 0;
}
TESTADO E FUNCIONANDO...
#include "stdlib.h"
#include "sys/time.h"
#include "iostream"
#define TAM 1000
using namespace std;
typedef int Apontador;
typedef int TipoChave;
typedef struct {
TipoChave chave;
/* outros componentes */
} TipoItem;
typedef struct {
TipoItem Item[TAM];
Apontador Frente, Tras,TAMANHO;
} TipoFila;
int tamanho (TipoFila p)
{
return (p.TAMANHO);
}
void FFVazia(TipoFila *Fila)
{
Fila->Frente = 1;
Fila->Tras = Fila->Frente;
} /* FFVazia */
int Vazia(TipoFila Fila)
{
return (Fila.Frente == Fila.Tras);
} /* Vazia */
void Enfileira(TipoItem x, TipoFila *Fila)
{
if (Fila->Tras % TAM + 1 == Fila->Frente)
printf("ERRO!!!QUANTIDADE MAXIMA DE PROCESSOS NA ESPERA\n");
else { Fila->Item[Fila->Tras - 1] = x;
Fila->Tras = Fila->Tras % TAM + 1;
Fila ->TAMANHO++;
}
} /* Enfileira */
void Desenfileira(TipoFila *Fila, TipoItem *Item)
{
if (Vazia(*Fila))
printf("ERRO!!!\nNAO EXISTEM PROCESSOS\n");
else { *Item = Fila->Item[Fila->Frente - 1];
Fila->Frente = Fila->Frente % TAM + 1;
Fila ->TAMANHO--;
}
} /* Desenfileira */
void Imprime(TipoFila Fila)
{
int Aux;
for (Aux = Fila.Frente - 1; Aux <= (Fila.Tras - 2); Aux++) printf("PROCESSO DE NUMERO%12d\n", Fila.Item[Aux].chave); } /* Imprime */ /////////////////////////////////////////////////////////////////////////////////////////////////// int main(int argc, char *argv[]) { TipoFila fila; TipoItem item; int i=0, j, k, p, op; FFVazia(&fila); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); do switch(op){ case 1: system("cls"); printf("DIGITE O NUMERO DO PROCESSO QUE DESEJA INSERIR:\n"); scanf("%d",&p); item.chave = p; Enfileira(item, &fila); system("cls"); printf("O PROCESSO %d FOI INSERIDO COM SUCESSO !!!\n\n", item.chave); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); i++; break; case 2: system("cls"); if(Vazia(fila)){ Desenfileira(&fila, &item); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } else{ Desenfileira(&fila, &item); printf("O PROCESSO: %d JA FOI RETIRADO DA FILA.\n\n", item.chave); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } break; case 3: if(Vazia(fila)){ system("cls"); printf("ERRO!!!NAO EXISTEM PROCESSOS NA FILA\n"); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } else{ system("cls"); Imprime(fila); printf("DIGITE A SUA OPCAO\n(1)INSERIR UM PROCESSO\n(2)RETIRAR UM PROCESSO\n(3)IMPRIMIR A FILA DE PROCESSO NA ESPERA\n(4)TAMANHO DA FILA\n(5)SAIR\n\n"); scanf("%d",&op); } break; case 4: system("cls"); cout<<"Tamanho da Fila\n"<
return 0;
}
TESTADO E FUNCIONANDO...
Assinar:
Postagens (Atom)