Visitantes


Contador
Contador
Tire suas dúvidas nos links abaixo!
Obs: A estrutura do blog não permite colocar a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente

domingo, 3 de abril de 2011

Numeros Perfeitos.

/* Numero Perfeito é o numero que a soma de seus divisores resulta nele mesmo.
Ex: 6
6 = 1 + 2 + 3, é importante salientar que o numero é excluido da lista de divisores.
*/
#include
#include

int main(int argc, char *argv[])
{

int x,soma=0,i;
/* Acima declaramos a variavel x para um contador, soma que será iniciada com o
valor zero, e i que será o numero digitado pelo ususario.
*/

printf("Digite um numero");
scanf("%d",&i);// Aqui o programa lê o valor digitado.


for(x=1;x<=i;x++)
{
/* Abaixo descobrimos os divisores do valor digitado e vamos guardando esses
valores na variavel soma.
*/
if(i % x == 0)
{
soma = soma + x;
}

}
soma = soma-i;//Aqui subtraimos dda variavel soma o numero digitado.
if (soma == i)// Agora pra saber se o numero é perfeito basta comparar soma com i.
{printf("numero perfeito");}
else
{printf("Este numero nao e perfeito");}


system("PAUSE");



return 0;
}





Numeros Primos.

/* Numero primo é um numero que só pode ser dividido por 1 e por ele mesmo, ou
seja, é um numero que possui apenas 2 divisores.
*/
#include
#include

int main(int argc, char *argv[])
{
int a,x,d=0;
/* Na linha acima declaramos as variaveis (a que será o numeramos digitado
para saber se e primo, x para ser um contador, d que será a quantiddade de
divisores do numero digitado, d já é iniciada com valor zero).
*/
printf("Digite um numero:\n");
scanf("%d",&a); // Aqui o programa lê o numero digitado pelo usuario.

/*Agora vamos descobrir quantos divisores tem esse nº, para fazer isso criamos
um for que inicia com x valendo o mesmo que o numero digitado e a cada volta no
laço e subtrai 1 de seu valor e divide o numero digitado pelo valor de x, quando
encontra um divisor acrescenta na variavel d uma unidade.
*/
for(x=a;x>=1;x--)
{
// Abaixo fazemos a divisão do numero digitado por x se o resto for 0 temos um divisor
if (a%x == 0)
{
d = d+1;
}
}

if(d == 2) // Este if testa o numero de divisores, se for 2 o numero é primo senão não é
{ printf("\nEste numero e primo\n");}

else
{ printf("\nEste numero nao e primo\n");}



system("PAUSE");
return 0;
}







domingo, 27 de março de 2011

Fatorial

Abaixo calculamos o fatorial, para quem não sabe fatorial de N é o produto dos numeros inteiros positivos menores ou iguais a N.
EX: Fatorial de 5 é 5x4x3x2x1.


#include < stdio.h >
#include < stdlib.h >

int main(int argc, char *argv[])
{
int numero,x,fatorial=1;
// Na linha acima declaramos as variaveis

printf("Digite um numero:\n");

scanf("%d",&numero);// Nesta linha o programa recebe o numero a ser fatorado

/*

Na linha abaixo usamos o comando (for) para calcular o fatorial, dentro dos
parenteses atribuimos a variavel x o valor da variavel numero que sera digitado
pelo usauario. Nessa mesma linha ainda entre os perenteses fazemos um teste para
ver se o numero digitado é maior que 1, caso seja a Expressão (x--) faz com que
a cada volta do looping seja subtraido 1 do valor digitado pelo usuario.
*/
for(x=numero;x>1;x--)
{

fatorial= fatorial*x;

/* Na linha acima usamos a variavel fatorial que recebe seu valor amrmazenado
multiplicado pelo valor de x, x a cada volta do looping será subtraido 1, e ao
final do looping quando x tiver valor menor que 1 o valor armazenado na variavel
fatorial será o valor do FATORIAL do numero digitado.
*/
}
printf("\n");// Este comando pula uma linha.

// Abaixo exibimos o valor digitado e em seguida o fatorial deste numero.

printf("O fatorial do numero %d e %d \n",numero,fatorial);

system("PAUSE");
return 0;
}

terça-feira, 7 de dezembro de 2010

Diagonal Principal

Quando procuramos em uma matriz 3x3 a sua diagonal principal estamos falando da diagonal que é iniciada do canto superior esquerdo e desce até o canto inferior direito.

A regra para um algoritmo que deve imprimir a diagonal principal é a seguinte, na diagonal principal os elementos tem o mesmo índice tanto em linha quanto em coluna.

Veja o exemplo abaixo:

Obs.: Não esqueça de preencher corretamente as linhas das bibliotecas da linguagem C, "As linhas dos includes".

#include

#include

int main(int argc, char *argv[])

{

int matriz[3][3];

int x,y;

printf("Digite os numeros:\n");

for(x=0;x<3;x++)

{for(y=0;y<3;y++)

{scanf("%d",&matriz[x][y]);}// neste bloco preenchemos a matriz

}

printf("valores da matriz:\n");

for(x=0;x<3;x++)

{printf("\n");

for(y=0;y<3;y++)

{ printf("%d\t",matriz[x][y]); }// neste bloco vamos imprimir a matriz

}

printf("\nDiagonal principal\n");

/*No bloco de comandos abaixo vamos imprimir a matriz novamente mas

com um IF dentro do comando FOR, esse IF compara os valores de

linha e coluna se forem iguais os valores serão impressos na tela */

for(x=0;x<3;x++)

{

for(y=0;y<3;y++)

{ if(x==y)

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

}

}

printf("\n");

system("PAUSE");

return 0;

}

domingo, 14 de novembro de 2010

Matrizes Bidimensionais

São matrizes linha-coluna, onde o primeiro índice indica a linha e o segundo a coluna. Esse tipo de matriz é considerado o caso mais simples de matrizes multidimensionais. Uma matriz assemelha-se a um engradado de garrafas.

Para preencher ou imprimir uma matriz são necessários dois comandos FOR, uma para linha e outo para coluna, é usado um dentro outro.

A sintaxe para declaração de uma matriz é bem simples, usa-se o tipo de dado o nome da matriz e as quantidades de linhas e colunas.

Exemplo de declaração de matriz : int matriz [2] [2];

// Este algoritmo lê e apresenta uma matriz 3x3 com valores inteiros.

#include
#include
int main()
{
int x,y,matriz[3][3];
for(x=0; x<3; x++)/* For responsavel pelas linhas da matriz*/
{
for(y=0; y<3; y++)/* For responsavel pelas colunas da matriz*/
{
printf("Digite um valor\n");
scanf("%d", &matriz[x][y]);/* Recebe os valores da matriz*/
system("cls");
/* Na linha acima usamos o comando "cls" para apagar da tela os N° digitados*/
}
}
printf("Veja o vetor montado\n\n");
for(x=0; x<3; x++)/* For responsavel pelas linhas da matriz*/
{
for(y=0; y<3; y++)/* For responsavel pelas colunas da matriz*/
{
printf("\t%d", matriz[x][y]); /* \t serve para tabular os valores*/
}/* imprime os valores da matriz*/
printf("\n");
}
system("pause");
return 0;
}

Ponteiros

O ponteiro nada mais é do que uma variável que guarda o endereço de uma outra variável. A declaração de ponteiros é feita da seguinte forma:
tipo *nome_ponteiro;
int *p;
Abaixo temos algumas formas de utilização de ponteiros.

#include
#include

int main ()
{
int numero=0;
int *ponteiro;
ponteiro=№

printf("Aqui o ponteiro recebe o endereço de memoria da variavel numero\n");
printf("O conteudo de ponteiro e %p\n", ponteiro);

system("pause");
/*Esse comando será usado para pausar o programa, para continuar basta pressionar
a tecla enter */
numero=5;
printf("Neste ponto a variavel numero recebe 5\n");
printf("O valor de numero e %d\n", numero);

system("pause");

*ponteiro=322;
printf("Aqui o ponteiro que aponta para variavel numero recebe o valor 322 \n assim ele altera o valor da variavel \n");
printf("O valor de numero agora e %d\n", numero);

system("pause");

numero=99;
printf("O conteudo de ponteiro e %p\n", ponteiro);// aqui o ponteiro guarda um endereço de memoria.
printf("O valor de numero alterado e %d\n", *ponteiro);// quando usamos o * seguido do nome do ponteiro podemos ver o valor da variavel.

system("pause");
return 0;
}

Struct

Na linguagem C, uma estrutura “Struct” é uma coleção de variáveis referenciadas por um nome, fornecendo uma maneira conveniente de se ter informações relacionadas agrupadas. Uma de definição de estrutura forma um modelo que pode ser usado para criar variáveis de estruturas. As variáveis que compreendem a estrutura são chamadas membros da estrutura, campos ou elementos da estrutura.
Abaixo temos o exemplo de uma struct:

Struct Pessoa
{
char nome;
int idade ;
char endereco;
};

Typedef

A Linguagem C permite definir explicitamente novos nomes de tipos de dados usando-se a palavra reservada typedef. Não se cria um novo tipo de dado, mas, ao contrário, define-se um novo nome para um tipo existente. Este processo pode auxiliar programas dependentes de máquinas a serem portáveis; somente a declaração typedef tem de ser modificada. Ele também auxilia na documentação do seu código por permitir nomes descritivos para tipos de dados padrões. A forma geral da declaração typedef é da a seguir:
Typedef tipo novo_nome;

Para dar um novo nome a struct Pessoa podeiamos fazer como a linha abaixo:
Typedef struct Pessoa apelido
Veja um exemplo já em linguagem c porém não esqueça que por limitações do blog nas linhas que mostram as bibliotecas stdio.h e stdlib.h você terá de refazer manualmente, evite copiar e colar.


/* Exemplo basico de struct. */

#include
#include

struct funcionario // nome da struct
{
char nome[50]; // membros da struct funcionario
int idade;
char endereco[50];
float salario;
};
/* Na linha abaixo criamos um novo nome para struct funcionario,
colocaremos um apelido "func"
*/
typedef struct funcionario func;

/* Repare que criamos a struct e o novo tipo fora da função main*/

int main( )
{
/* Na linha abaixo vamos declarar uma variavel chamada colaborador,
essa variavel é do tipo "func" tipo criado apartir da struc funcionario*/

func colaborador;

printf(" Digite o nome do Colaborador: \n");
gets(colaborador.nome);
/* Na linha acima usamos a função "gets" para capiturar a string digitada
pelo usuário, para acessar ou incluir o valor em um membro basta colocar após
o nome da variavel o operador ponto " . " e nome do membro ex: colaborador.nome*/

printf("\n Digite a idade do colaborador: \n");
scanf("%d",&colaborador.idade);
/* Na linha acima vamos inserir a idade do colaborador. */

printf("\n Digite o endereco do colaborador: \n");
fflush( stdin );// função para limpar buffer
gets(colaborador.endereco);
/* Agora vamos inserir o endereço do colaborador. */

printf("\n Digite o salario do colaborador: \n");
scanf("%f",&colaborador.salario);
/*Na linha acima vamos inserir o salario do colaborador */

/* Agora vamos imprimir os valores, para imprimir os valores dos registros
tambem chamamos os valores com o nome da variavel seguido do operador ponto "."
e do nome do campo a ser impresso */
printf("\n Nome do colaborador:\n %s",colaborador.nome);
printf("\n Idade do colaborador:\n %d",colaborador.idade);
printf("\n Endereco do colaborador:\n %s",colaborador.endereco);
printf("\n Salario do colaborador:\n R$ %.2f \n",colaborador.salario);


system("PAUSE");
return 0;
}