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


14 de mar. de 2019

Algoritmo em C utilizando Pilha e Fila

Algoritmo em C simulando um porto onde existam 10 pilhas com capacidade de 10 containers por pilha. O porto recebe navios cargueiros em fila e eles descarregam ou carregam os containers.



#include <stdio.h>
#include <string.h>

#define T 10
#define P 10



typedef struct{
        int topo;
}PILHA;


typedef struct {
       int cod, qtd;
}NAVIO;
typedef struct{
        int n, ini;
        NAVIO navio[T];
}FILA;

typedef struct{
        int n, ini;
        NAVIO navio[T];
}FILASaida;

int menuPrincipal();//função com as opções do menu prinicipal...
void iniciarPilha(PILHA *p);
int overflow(PILHA *p);
int underflow(PILHA *p);
void push(PILHA *p, FILA *f );
void pop(PILHA *p);
void imprimirPilha(PILHA *p);


void iniciarFila(FILA *f);
int vazia(FILA *f);
int cheia(FILA *f);
void inserir(FILA *f,NAVIO *nav);
void imprimirFila(FILA *f);
void imprimirFilaTotal(FILA *f);
void remover(FILA *f);

int main(){

    PILHA pilha[T];

    FILA fila;
    FILASaida filaS;
    NAVIO nav;

    int menu, x, codNavio = 0, pilhaCont, codNavioS = 0, qtd, qtdSoma, aux = 0;

    for(x = 0; x < 10; x++){
        iniciarPilha(&pilha[x]);
    }

    iniciarFila(&fila);
    iniciarFila(&filaS);

    do{

        menu = menuPrincipal();

        switch(menu){
            case 1:
                if(!cheia(&fila)){
                    codNavio++;
                    nav.cod = codNavio;
                    printf("Informe a quantidade de containers, que tem no Navio: ");
                    scanf("%d", &nav.qtd);

                    inserir(&fila, &nav);
                    
                    printf("\n\nNavio inserido com sucesso:\n\n");

                }
                else{
                    printf("A fila de navio esta cheia: \n");
                }
            break;
            case 2:
                if(!vazia(&fila)){
                    system("cls");
                    
                    do{
                    imprimirFila(&fila);
                    printf("Informe a pilha que vai desgarregar 1 - 10: \n");
                    scanf("%d", &pilhaCont);
                   
                    if(pilhaCont < 1 || pilhaCont > 10 ){
                    printf("\nOpcao invalida\n");
                   
}
if(!overflow(&pilha[pilhaCont-1])){
 push(&pilha[pilhaCont-1], &fila );
 printf("\nColocado na pilha\n");
}
else{
printf("\nEssa Pilha esta cheia\n");
}
                   
}while(pilhaCont < 1 || pilhaCont > 10 );
                }
                else{
                    printf("Não existe nenhum navio na fila\n");
                }
            break;
            case 3:
            if(!vazia(&fila)){
                    system("cls");
                   
                    imprimirFilaTotal(&fila);
                   
                }
                else{
                    printf("Não existe nenhum navio na fila\n");
                }
            break;
            case 4:
            
            for(x = 0; x < 10; x++){
            printf("Pilha %d - qtd %d\n", x+1, pilha[x].topo+1);
}
printf("\n\n");
            break;
            case 5:
               qtd = 0;
               qtdSoma = 0;
                    codNavio++;
                    nav.cod = codNavio;
                    nav.qtd = 0;
                    aux = 0;
           
           
            do{
                    for(x = 0; x < 10; x++){
            printf("Pilha %d - qtd %d\n", x+1, pilha[x].topo+1);
            }
            printf("Informe a pilha: ");
                    scanf("%d", &pilhaCont);                    
                    printf("A quantidade de containers, que vai carregar no Navio: \n");
                    scanf("%d", &qtd);
                   
                    if(pilhaCont < 1 || pilhaCont > 10 ){
                    printf("\nOpcao invalida\n");                    
}
if(!underflow(&pilha[pilhaCont-1])){
if(qtd > 10 || qtd < 0){
printf("\nValor invalido\n");
}
else{
if(pilha[pilhaCont-1].topo <= qtd ){
nav.qtd += pilha[pilhaCont-1].topo + 1;
pilha[pilhaCont-1].topo = -1;
printf("\nteste: %d\n", pilha[pilhaCont-1].topo);
}
else{
nav.qtd += qtd;
pilha[pilhaCont-1].topo -= qtd;
}
}
aux = 1;
}
else{
printf("\nEssa Pilha esta vazia\n");
}
printf("\nDeseja continuar: 1-sim/2-nao\n");
scanf("%d", &qtd);
if(qtd == 1){
pilhaCont = 2;
}
else{
pilhaCont = -2;
}
                   
}while(pilhaCont < 1 || pilhaCont > 10 );
if(aux == 1){
inserir(&filaS, &nav);
}
       

                
            break;
            case 6:
            if(!vazia(&filaS)){
                    system("cls");
                   
                    imprimirFilaTotal(&filaS);
                   
                }
                else{
                    printf("Não existe nenhum navio na fila\n");
                }
            break;

        }

    }while(menu != 0);

    return 0;
}

int menuPrincipal(){

    int opc;

    printf("1-Colocar Navio na Fila\n"
           "2-Desgarregar containers\n"
           "3-Imprimir Fila de navios para descarregar\n"
           "4-Imprimir as pilhas\n"
           "5-Carregar Navios: \n"
           "6-imprimir fila de Navios carregados: \n"
           "0-sair\n\nopcao:");
    scanf("%d", &opc);
    system("cls");

    if(opc >= 0 && opc <= 10){
        return opc;
    }
    else{
        return menuPrincipal();
    }
}

void iniciarPilha(PILHA *p){
     p->topo = -1;
}


void iniciarFila(FILA *f){
     f->n =0;
     f->ini = 0;
}
int overflow(PILHA *p){
    return p->topo == T-1;
}
int underflow(PILHA *p){
    return p->topo == -1;
}

int vazia(FILA *f){
    return f-> n == 0;
}
int cheia(FILA *f){
    return f-> n == P;
}

void inserir(FILA *f,NAVIO *nav){
     int fim;
     fim = (f-> ini + f-> n) % P;
     f->navio[fim] = *nav;
     f->n++;

}

void imprimirFila(FILA *f){
    int aux, fim, x = 0;
     fim = (f->ini + f-> n-1)% T;

     if(f->ini == 0 || f-> ini <= fim || fim == T -1){
       for(aux = f-> ini; aux<= fim; aux++){
         if(x == 0){
          printf("Posicao na fila: [%d] - Codigo: %d - qtd: %d\n",aux+1,f->navio[aux].cod, f->navio[aux].qtd);
          x = 1;
}
           
           }
       }
     else{
          for(aux = f->ini; aux < T; aux ++)
             printf("Posicao na fila: [%d] - Codigo: %d\n",aux+1,f->navio[aux].cod);

          for(aux = 0; aux <=fim; aux++)
             printf("Posicao na fila: [%d] - Codigo: %d\n",aux+1,f->navio[aux].cod);
     }
     printf("\n\n");
}
void imprimirFilaTotal(FILA *f){
    int aux, fim, x = 0;
     fim = (f->ini + f-> n-1)% T;

     if(f->ini == 0 || f-> ini <= fim || fim == T -1){
       for(aux = f-> ini; aux<= fim; aux++){
         
          printf("Posicao na fila: [%d] - Codigo: %d - qtd: %d\n",aux+1,f->navio[aux].cod, f->navio[aux].qtd);
         
           
           }
       }
     else{
          for(aux = f->ini; aux < T; aux ++)
             printf("Posicao na fila: [%d] - Codigo: %d\n",aux+1,f->navio[aux].cod);

          for(aux = 0; aux <=fim; aux++)
             printf("Posicao na fila: [%d] - Codigo: %d\n",aux+1,f->navio[aux].cod);
     }
     printf("\n\n");
}
void remover(FILA *f){
f->ini  =(f->ini +1) % T;
     f->n--;
}


void push(PILHA *p, FILA *f ){
int aux, fim, x = 0, y = 0;
     fim = (f->ini + f-> n-1)% T;

     if(f->ini == 0 || f-> ini <= fim || fim == T -1){
       for(aux = f-> ini; aux<= fim; aux++){
         if(x == 0){
          printf("Posicao na fila: [%d] - Codigo: %d - qtd: %d\n",aux+1,f->navio[aux].cod, f->navio[aux].qtd);
          x = 1;
          for(y = 0; y < 10; y++ ){
         

          p->topo++;
f->navio[aux].qtd--;
          if(f->navio[aux].qtd == 0){
          remover(f);
          break;
   }
   if(p->topo == 9){
    break;
}
}
}
           
           }
       }
     else{
          for(aux = f->ini; aux < T; aux ++)
             printf("Posicao na fila: [%d] - Codigo: %d\n",aux+1,f->navio[aux].cod);

          for(aux = 0; aux <=fim; aux++)
             printf("Posicao na fila: [%d] - Codigo: %d\n",aux+1,f->navio[aux].cod);
     }
     printf("\n\n");
}
Trabalhos.: 
E-mail: mvf5system@gmail.com 
Blog: http://mvf5-system.blogspot.com.br/ 
Facebook: https://www.facebook.com/mvf5systems



Algoritmo em C de ordenação de vetor pela função Selection Sort.

Algoritmo em C de ordenação de vetor pela função Selection Sort.
Algoritmo em C que preenche um vetor de 6 posições e ordena de forma crescente e decrescente pela função Selection Sort, utilizando ponteiros para implementação do algoritmo.

#include <stdio.h>

void selection_sort_decrescente(int * num, int tam) {
 
    int i, j, swap, min;
        for (i = 0; i < (tam-1); i++){
            min = i;
         
            for (j = (i+1); j < tam; j++) {
                if(*(num+j) > *(num+min)){
                    min = j;
                }
            }
            if (i != min) {
              swap = *(num + i);
              *(num + i ) = *(num + min);
              *(num + min ) = swap;
            }
         
        }
     
}
void selection_sort_crescente(int * num, int tam) {
 
    int i, j, swap, min;
        for (i = 0; i < (tam-1); i++){
            min = i;
         
            for (j = (i+1); j < tam; j++) {
                if(*(num+j) < *(num+min)){
                    min = j;
                }
            }
            if (i != min) {
              swap = *(num + i);
              *(num + i ) = *(num + min);
              *(num + min ) = swap;
            }
         
        }
     
}
int main() {

    int x[6], n=6, i;  

     for (i=0; i<n; i++) {

            printf("\ninforme um numero: ");

            scanf("%d",&x[i]);

    }

    printf("\nVetor original\n");

    for (i=0; i<n; i++)

        printf("\t%d", x[i]);

        selection_sort_decrescente(x, n);

        printf("\n\nVetor ordenado Decrescente\n");

    for (i=0; i<n; i++)

        printf("\t%d", x[i]);

        printf("\n");

selection_sort_crescente(x, n);
printf("\n\nVetor ordenado Crescente\n");

    for (i=0; i<n; i++)

        printf("\t%d", x[i]);

        printf("\n");
    return 0;

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

Saídas Simples usando print, println, printf e format em Java

Saídas Simples usando print, println, printf e format


Vamos demostrar as maneiras de mostrar mensagens na tela, que incluem:

System.out.println, System.out.print, System.out.printf e System.out.format
System.out - Objeto de saída em Java padrão, que permite exibir as Strings no console (terminal) de comando quando o aplicativo de Java é executado. Dentro desse objeto existem métodos para gerar
saídas de Strings, entre elas são: println, print e o printf.
O método System.out.println()
A instrução System.out.println(), gera uma saída de texto entre aspas duplas significando uma String, criando uma nova linha e posicionando o cursor na linha abaixo, o que é identificado pela terminação “ln”. Veja no exemplo.Saída de uma String com System.out.println

Algoritmo em C - Que calcula a idade de um conjunto de 10 pessoas.

Algoritmo e m C que calcula a idade de um conjunto de 10 pessoas, a idade da pessoa mais nova, mais velha, a média de todas as idades, número de pessoas com menos de 18 anos e número de pessoas com mais de 65 anos.
#include<stdio.h>

main()
{
    int idade, x = 0, mais_velha, mais_nova = 0, cont_menor_18 = 0, cont_menor_65;
    float media = 0;
    
    for(x = 0; x < 10; x++){
        printf("\n DIGITE A IDADE: ");
        scanf("%d",&idade);
        media += idade;
        if(x == 0){            
            mais_velha = idade;
            mais_nova = idade;
        }
        else{
            if(mais_velha < idade)
                mais_velha = idade;
                
             if(mais_nova > idade)
                mais_nova = idade;
        }
        
        if(idade < 18)
            cont_menor_18++;
        if(idade > 65)
            cont_menor_65++;
    }   
        
     media = media /10;
     
     printf("\nA pessoa mais nova do grupo: %d",mais_nova);
     printf("\nA pessoa mais velha do grupo: %d",mais_velha);
     printf("\nMedia das idades: %.2f",media);
     printf("\n O total de pessoas com menos de 18 anos: %d",cont_menor_18);
     printf("\n O total de pessoas com mais de 65 anos: %d",cont_menor_65);
     printf("\n\n");
     
     return 0;
}
Trabalhos.: 
E-mail: mvf5system@gmail.com 
Blog: http://mvf5-system.blogspot.com.br/ 

Facebook: https://www.facebook.com/mvf5systems

O que são Classes e Métodos em Java

O que são Classes e Métodos em Java


Os dois dos mais importantes conceitos de Java, que você vai ouvir que são classes e métodos.
Primeiro Classes, é a base de tudo, em Java. Classe é algo mais abstrato, é uma definição geral. Um exemplo ou instância de uma classe é um objeto, classe é algo mais genérico, objeto é algo mais específico.

Daí vem o fato de Java ser orientado à objetos.

O carro, por exemplo, é uma classe. É algo mais geral. Um exemplo de objeto, é o fusca. Uma Ferrari é um objeto da classe carro, mas é um objeto diferente do objeto fusca.

As classes possuem atributos que todos os objetos possuem, mas que não são, necessariamente, iguais. Mas podem ser.

Voltemos para os carros.
A classe carros tem o item 'motor'. Então o objeto fusca tem motor e a Ferrari também tem motor, embora esses motores sejam diferentes, pois a característica dos motores são diferentes.
A classe carros tem o item portas. No fusca, esse valor vale 2, pois só tem duas portas. Porém, outros objetos da classe Carro tem 4 portas, depende do modelo do carro.

Isso ajuda muito na hora de criar grandes projetos. Imagina que você tenha um trabalho numa empresa, com milhares de funcionários e serviços.Fácil fácil seu programa em Java vai possuir milhares de objetos, mas se você se organizar bem só vai ter algumas dezenas de Classes.Assim, você organiza a empresa, em blocos, as Classes.Então, quando fizer uma alteração, faz nas classes que todos os objetos, automaticamente, herdarão essa mudança.
Passe a ver o mundo como Classes e Objetos.
Agora o Método: Métodos são...métodos! Ou seja, são meios, ou jeitos de se fazer uma coisa. Em outras linguagens, são chamados de funções (C, C++) ou sub-rotinas (Perl).
O que o método faz? Ele imprime (escreve, mas se acostume com a palavra imprimir) o texto 'Olá mundo!'.
Métodos podem calcular soma, subtração, integração etc. Existem métodos de formatação do HD, métodos de backup, métodos de invasão, métodos pra mostrar um texto, um menu, métodos que sorteiam um número...métodos são tarefas.É uma porção de código que faz algo bem definido.
É um método pra fazer algo.

No nosso caso, o sistema ('System') joga pra fora ('out'), que no caso é a tela, na forma de escrita ('print') a mensagem 'Olá mundo!.

Agora as partes mais importantes desse começo:
1. O seu programa, pra rodar, precisa ter a 'main'.
A primeira coisa que o Java faz pra rodar é procurar o 'public static void main(String[] args)'. É daí que ele inicia o seu programa.

2. A classe que contém o método main, 'Primeira', precisa ter o mesmo nome do projeto.
Lembre-se que o nome do nosso projeto é 'Primeira' e a classe é 'public class Primeiro {}'
Ou seja, o método main tem que estar em algum lugar dentro desse par de colchetes aí.

Estes são os erros mais comuns que os iniciantes cometem. Esquecerem da main.

Agora vou usar com você o melhor método de aprendizado, o teste. Testem:
1. Em vez de main, escreva Main e compile/rode.
2. Em vez de 'public class Primeiro...' escreva 'public class primeiro' e compile/rode
3. Tirem o ';', um '{' ou '}' e compile/rode
4. Que a diferença entre os códigos abaixo?




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


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