Programação e Desenvolvimento

Projetos, softwares, sites, blogs e trabalhos conforme sua necessidade e com os melhores preços.
Tecnologia do Blogger.

Text Widget

Search (Don't Edit)

Sample Text

Colaboradores

Formulir Kontak

Nome

E-mail *

Mensagem *

Full-Width Version (true/false)

Flickr

Arquivo do blog

Facebook

Translate

Video of the Day

Slider (Add Label Name Here!) (Documentation Required)

Teste Teste Teste

Know us

Teste Teste Teste Teste

Popular Posts

Featured


10 de dez. de 2014

Exemplo de Manipulação de Arquivos em C

Algoritmo consiste em uma Pilha de estrutura com os seguintes campos, nome e idade, armazenados na struct. O algoritmo tem a função de cadastrar, remover, imprimir, salvar, carregar e excluir arquivo. A estrutura será salvo em forma de arquivo Binário.

#include<stdio.h>
#define T 10
typedef struct{
char nome[31];
        int idade;
}PESSOA;
typedef struct{
        PESSOA item[T];
        int topo;
}PILHA;
PILHA iniciaPilha();
int main(){
    FILE *arq;
    PILHA p = iniciaPilha();
    int opc, aux;
    do{
        printf("1 - cadastrar\n"
               "2 - remover\n"
               "3 - imprimir\n"
               "4 - salvar\n"
               "5 - carregar\n"
               "6 - excluir arquivo\n"
               "0 - sair\n");
        scanf("%d",&opc);
        switch(opc){
          case 1:
               getchar();
               if(p.topo < T){
                       
                 printf("nome: ");
                 gets(p.item[p.topo].nome);
                 printf("idade: ");
                 scanf("%d",&p.item[p.topo].idade);
                 p.topo++;
                 system("cls");
                 getchar();
                 }else{
                       printf("PILHA cheiA\n");
                       getche();
                       system("cls");
                       }
          break;
          case 2:
               if(p.topo > 0){
                 p.topo--;
                 printf("nome: %s\nidade: %d\nremovido\n",p.item[p.topo].nome,p.item[p.topo].idade);
               }else
                 printf("PILHA VAZIA\n");
                 getche();
                 system("cls");
          break;
          case 3:
               if(p.topo > 0){
                for(aux = p.topo -1; aux >=0; aux--)
                  printf("nome: %s\nidade: %d\n",p.item[aux].nome,p.item[aux].idade);
                }else
                  printf("PILHA VAZIA\n");
                  getche();
                  system("cls");
          break;
          case 4:
               if(p.topo >= 0){
                 arq = fopen("arquivos_estrutura.bin","wb");
               if(arq != NULL){
                 for(aux =0; aux<p.topo; aux++)
                   if(*p.item[aux].nome)//verifica se comprimento do nome  e 0
                     fwrite(&p.item[aux],sizeof(PESSOA),1,arq);
                 fclose(arq);
                 printf("arquivo gravado com sucesso\n");
                 }else
                  printf("problema ao abrir o arquivo!\n");
                 }else
                  printf("PILHA VAZIA\n");
                  getche();
                  system("cls");
          break;
          case 5:
               if(p.topo < T){
                arq = fopen("arquivos_estrutura.bin","rb");
               if(arq != NULL){
                 for(p.topo =0; p.topo <T; p.topo++)
                   if(fread(&p.item[p.topo],sizeof(PESSOA),1,arq)!=1){
                     if(feof(arq))
                      break;
                   }
                   fclose(arq);
                     printf("arquivo carregado com sucesso!\n");
                   }else
                     printf("problema ao abrir o arquivo!\n");
                   }else
                     printf("PILHA cheia!\n");
                     getche();
                     system("cls");
          break;
          case 6:
               if(remove("arquivos_estrutura.bin")==0)
                printf("arquivo removido com sucesso!\n");
               else
                 printf("erro ao remover arquivo!\n");
               getche();
               system("cls");
          break;
          case 0: break;
          default: printf("erro\n");
          getche();
          system("cls");
     }
    }while( opc !=0);
}
PILHA iniciaPilha(){
      int aux;
      PILHA pi;
      pi.topo = 0;
      for(aux = 0; aux<T; aux++)
       *pi.item[aux].nome = '\0';
       return pi;
}

Trabalhos.:
E-mail: mvf5system@gmail.com
Blog: http://mvf5-system.blogspot.com.br/
Facebook: https://www.facebook.com/mvf5systems

8 de dez. de 2014

Busca Binária e Sequencial em C

Algoritmo consiste, em fazer uma busca tanto Sequencial quanto Binária em um vetor, preenchido e ordenado! Em um vetor de inteiros preenchidos automaticamente os números, o algoritmo mostra como é feito a busca, Sequencial é Binária, mostrando a quantia de comparações que cada busca realiza para encontrar o número fornecido pelo usuário!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<math.h>
#define T 250

int menu();
void inserir(int vet[]);
void exibir(int vet[]);
int buscaSequencial(int TAMANHO, int vet[], int valor);
int buscaBinaria(int n, int vet[], int elem);

int vetor[T];
main(){

int num, op;

double tempo_gasto;//tempo gasto
clock_t tempo_inicial = 0, tempo_final = 0;


inserir(vetor);

do{
op = menu();
switch(op){
case 1:
system("cls");
printf("\nBUSCA SEQUENCIAL\n");
printf("\nInforme um numero para Busca sequencial: ");
scanf("%d",&num);

tempo_inicial = clock();//tempo inicial

if(buscaSequencial(T, vetor, num)){
tempo_final = clock();
tempo_gasto = ( (double) (tempo_final - tempo_inicial) ) / CLOCKS_PER_SEC;
printf("\nTempo gasto para busca sequencial: %lf s\n", tempo_gasto);
}
else{
printf("\nNao foi encontrado nenhum elemento: ");

}

getch();
break;
case 2:

system("cls");
printf("\n\nBUSCA Binaria\n");
printf("\nInforme um numero para Busca Binaria: ");
scanf("%d",&num);
tempo_inicial = 0;
tempo_final = 0;
tempo_gasto = 0;
tempo_inicial = clock();//tempo inicial

if(buscaBinaria(T, vetor, num) > 0){
tempo_final = clock();
tempo_gasto = ( (double) (tempo_final - tempo_inicial) ) / CLOCKS_PER_SEC;
printf("\nTempo gasto para busca Binaria: %lf s\n", tempo_gasto);
}
else{
printf("\nNao foi encontrado nenhum elemento: ");

}
getch();
break;
case 3:
exibir(vetor);
getch();
break;
case 0:
break;
default:
printf("Opcao invalida\n");
break;
}
}while(op != 0);
    system("pause");
}
int menu(){
system("cls");
int op;
printf("1-Busca sequencial\n2-Busca Binaria\n3-Exibir Vetor\n0-sair\n");
scanf("%d",&op);
return op;
}

void inserir(int vet[]){
int x;

srand(time(NULL));
for(x = 0; x< T; x++){
vet[x] =  x;

}
}
void exibir(int vet[]){
int x;
for(x = 0; x< T; x++){
printf("%d\t",vet[x]);

}
}
int buscaSequencial(int TAMANHO, int vet[], int valor){
int i = 0, encontrado = 0;
int cont = 0;
while (i < TAMANHO && !encontrado) {
cont++;
if (vetor[i] == valor) {
encontrado = 1; /*Verdadeiro*/
printf("\nVerificou quntas vezes: %d",cont);
return encontrado;
}
else {
i++;
}
}
return encontrado;
}
int buscaBinaria (int n, int vet[], int elem){
/* no início consideramos todo o vetor */
int ini = 0;
int fim = n-1;
int cont = 0;
/* enquanto a parte restante for maior que zero */
while (ini <= fim) {
cont++;
int meio = (ini + fim) / 2;
if (elem < vet[meio]){
fim = meio-1;
}
// ajusta posição final */
else if (elem > vet[meio]){
ini = meio + 1; // ajusta posição inicial */
}

else{
printf("\nAchou");
printf("\nVerificou quantas Vezes: %d\n",cont);
return meio;
}
// /* elemento encontrado */
}
/* não encontrou: restou parte de tamanho zero */
return -1;
}
Trabalhos.:
E-mail: mvf5system@gmail.com
Blog: http://mvf5-system.blogspot.com.br/
Facebook: https://www.facebook.com/mvf5systems


19 de nov. de 2014

Algoritmo Matriz em C - inicializa uma matriz quadrada.


Algoritmo que vai possibilitar ao usuário inicializar uma matriz quadrada. O usuário poderá informar a quantidade de linhas ou colunas da matriz e se a inicialização será "crescente" ou "decrescente " ( A quantidade de linhas ou colunas deve ser armazenado em uma variável do tipo int e o tipo de inicialização deve ser em uma string). Ao final do programa você deve exibir a matriz inicializada ao usuário.
Trabalhos.:
E-mail: mvf5system@gmail.com
Blog: http://mvf5-system.blogspot.com.br/
Facebook: https://www.facebook.com/mvf5systems



14 de jul. de 2014

Algoritmo em Visualg - Exemplo de pesquisa, num vetor.

Exemplo de pesquisa em visualg num vetor de nomes, o algoritmo consiste em preenchimento de um vetor de caracteres, com vários nomes, depois será requisitado um nome para a pesquisa, e num laço de repetição, ficará repetindo a pesquisa até que saia.
Trabalhos.:
E-mail: mvf5system@gmail.com
Blog: http://mvf5-system.blogspot.com.br/
Facebook: https://www.facebook.com/mvf5systems



MVF5-System - Soluções em TI.

Tem algum projeto, software, sites, blog, trabalhos em geral.

Traga sua ideia que resolvemos.

Contatos para trabalho: mvf5system@gmail.com;

Algoritmo em Visualg - Passagem Por Referência

Exemplo de um algoritmo em visualg que demostra, passagem por referência, o exemplo consiste em um procedimento, que recebe um valor, que vai ser fatorado, e uma referência de uma variável, na onde será a multiplicação, e o valor será alocado dinamicamente, na variável.
Trabalhos.:
E-mail: mvf5system@gmail.com
Blog: http://mvf5-system.blogspot.com.br/
Facebook: https://www.facebook.com/mvf5systems



MVF5-System - Soluções em TI.

Tem algum projeto, software, sites, blog, trabalhos em geral.

Traga sua ideia que resolvemos.

Contatos para trabalho: mvf5system@gmail.com;


Postagem em destaque

MVF5 System - SOLUÇÕES EM TI!

          Desenvolvimento de projetos, softwares, sites, blogs e trabalhos conforme sua necessidade e com os melhores preços. Entre em c...

Seguidores

Total de visualizações

Postagens populares