sábado, 15 de junho de 2013

Dropbox




    Olá, após muito tempo sem postar, trago a vocês o dropbox, um sistema de armazenamento online semelhante ao skydrive (Microsoft), e GoogleDrive (Google).
    O Dropbox é o lugar certo para todos os seus arquivos, fotos e vídeos. Qualquer coisa que você adicionar ao seu Dropbox aparecerá automaticamente em todos os seus computadores, celulares e até mesmo no site do Dropbox , para que você possa acessar tudo de qualquer lugar.
    Com o Dropbox, compartilhar arquivos com outras pessoas é superfácil, não importa se você é estudante ou profissional, um pai ou um avô. Mesmo se você derramar café sem querer no laptop, não fique com medo! Relaxe com a certeza de que todos os seus arquivos estão seguros no Dropbox e nunca se perderão.

Por isso não perca a oportunidade de ganhar 2GB de armazenamento, basta acessar:

domingo, 3 de fevereiro de 2013

Filme - Forrest Gump


Sinopse: Forrest Gump é um homem muito especial. Considerado estúpido por todos que o conheçem, ele é na verdade apenas uma pessoa ingênua que vê o mundo por uma perspectiva diferente. Gump acidentalmente participa de alguns dos momentos mais importantes da história recente dos Estados Unidos - Guerra do Vietnã, Caso Wategate, entre outros - enquanto tenta ir atrás do grande amor de sua vida. Sua história é contada com drama e bom humor em iguais proporções, surpreendendo o espectador a cada cena.

Opnião: Filme muito interessante, apesar de ser de 1994 apresenta um enredo e uma história envolvente, é o tipo de filme que eu nunca havia assistido, o que mais impressiona é a capacidade do mesmo de amar uma mulher depois de tudo que ela o fez passar. O filme combina situações tanto de drama quanto de comédia, se você é uma pessoa que facilmente chora ao assistir um filme, neste as duas situações serão misturadas. Muito recomentado!

"Corra Forrest, Corra!"


Fonte da Sinopse: www.webcine.com.br

Resolução - Revisão de Contrato - 2010

Questão da maratona de programação de 2010, basicamente um contador que não cuidou muito bem de seu computador pede sua ajuda para determinar o real valor de seus contratos. Neste problema eu trabalhei na base de string, o número da tecla problemática recebo como inteiro e somo com 48 para obter o seu respectivo número na tabela ASCII, e o número seguinte recebo como uma string.
No tratamento do valor eu substituo todos os valores iguais ao valor problemático por 'A', após isso se a string for composta somente por zeros imprimo "0", senão eu imprimo a partir do primeiro valor diferente de zero.

LINK PARA DOWNLOAD DO CÓDIGO: Código Revisão de Contrato

SITE: http://www.urionlinejudge.com.br/judge/problems/view/1120

Resolução - Robô colecionador - 2010

Questão da maratona de programação de 2010, consiste em elaborar um algoritmo para calcular quantas figurinhas serão coletas pelo robô. O modo mais simples que veio a minha cabeça foi criar uma matriz de char para armazenar todos os elementos da arena e uma struct para armazenar a posição inicial e a próxima posição que ele irá ocupar:

struct pos {
    int x;
    int y;
    int prox_x;
    int prox_y;
}pos;

Com isto basta apenas receber a string de comandos, prestar atenção nas bordas, nas colunas, apagar as figurinhas coletadas e criar um contador para armazenar o número de figuras coletadas!
Vamos lá:


#include<stdio.h>
struct pos {
    int x;
    int y;
    int prox_x;
    int prox_y;
}pos;



int main (void) {
    int L, C, S;
    while (scanf("%d %d %d", &L, &C, &S)&&L!=0) {
        int i, j, fig=0;
        char tab[L][C], cmd[S+1];
        getchar();
        for(i=0; i<L; i++) {
            for(j=0; j<C; j++) {
                tab[i][j]=getchar();
                if(tab[i][j]!='.'&&tab[i][j]!='*'&&tab[i][j]!='#') {
                    pos.x=i;
                    pos.y=j;
                    switch (tab[i][j]) {
                        case 'N':
                            pos.prox_x=i-1;
                            pos.prox_y=j;
                            break;
                        case 'S':
                            pos.prox_x=i+1;
                            pos.prox_y=j;
                            break;
                        case 'L':
                            pos.prox_x=i;
                            pos.prox_y=j+1;
                            break;
                        case 'O':
                            pos.prox_x=i;
                            pos.prox_y=j-1;
                            break;
                    }
                }
            }
            getchar();
        }
        scanf("%s", cmd);
        for (i=0; i<S; i++) {
            switch (cmd[i]) {
                case 'D':
                    if (pos.prox_y==pos.y) {
                        if (pos.prox_x>pos.x) {
                            pos.prox_x=pos.x;
                            pos.prox_y=pos.y-1;
                        }
                        else {
                            pos.prox_x=pos.x;
                            pos.prox_y=pos.y+1;
                        }
                    }
                    else {
                        if (pos.prox_y>pos.y) {
                            pos.prox_y=pos.y;
                            pos.prox_x=pos.x+1;
                        }
                        else {
                            pos.prox_y=pos.y;
                            pos.prox_x=pos.x-1;
                        }
                    }
                    break;
                case 'E':
                    if (pos.prox_x==pos.x) {
                        if (pos.prox_y>pos.y) {
                            pos.prox_y=pos.y;
                            pos.prox_x=pos.x-1;
                        }
                        else {
                            pos.prox_y=pos.y;
                            pos.prox_x=pos.x+1;
                        }
                    }
                    else {
                        if (pos.prox_x>pos.x) {
                            pos.prox_x=pos.x;
                            pos.prox_y=pos.y+1;
                        }
                        else {
                            pos.prox_x=pos.x;
                            pos.prox_y=pos.y-1;
                        }
                    }
                    break;
                case 'F':
                    if (tab[pos.prox_x][pos.prox_y]!='#'&&(pos.prox_x<L&&pos.prox_x>-1)&&(pos.prox_y<C&&pos.prox_y>-1)) {
                        if (tab[pos.prox_x][pos.prox_y]=='*') {
                            tab[pos.prox_x][pos.prox_y]='.';
                            fig++;
                        }
                        if (pos.prox_y==pos.y) {
                            if (pos.prox_x>pos.x) {
                                pos.x=pos.prox_x;
                                pos.prox_x++;

                            }
                            else {
                                pos.x=pos.prox_x;
                                pos.prox_x--;
                            }
                        }
                        else {
                            if (pos.prox_y>pos.y) {
                                pos.y=pos.prox_y;
                                pos.prox_y++;

                            }
                            else {
                                pos.y=pos.prox_y;
                                pos.prox_y--;
                            }
                        }
                    }
                    break;
            }

        }
        printf("%d\n", fig);
    }
    return 0;
}

Admito que o código é bem deselegante mas é uma forma simples e fácil de implementar
SITE: http://www.urionlinejudge.com.br/judge/problems/view/1121



[sourcecode language="c"] Escreva aqui seu código-fonte. [/sourcecode]