Visitantes
Contador
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, 27 de março de 2011
Fatorial
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
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
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
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;
}
domingo, 7 de novembro de 2010
Escreva uma função capaz de converter um valor monetário de uma moeda para outra, recebendo como parâmetros o valor a converter e a taxa de conversão.
#include
#include
void converter( float x, float y);
int main(int argc, char *argv[])
{
float v_converter,taxa_conversao; // declaração de variaveis
printf("Digite o valor em dolar para ser convertido:\n");
printf("US$ ");
scanf("%f",&v_converter);
printf("Digite a taxa de conversão:\n");
printf("R$ ");
scanf("%f",&taxa_conversao);
converter( v_converter, taxa_conversao);// chamada de função
system("PAUSE");
return 0;
}
void converter( float x, float y)// função para converter os valores
{
float valor_convertido;
valor_convertido= x*y;
printf("O valor convertido e em reais R$ %.2f \n",valor_convertido);
}
Escreva uma função que seja capaz de retornar o maior valor dentre três valores reais fornecidos como parâmetros.
#include <>
#include <>
float maior(float x, float y, float z);// prototipo da função
int main(int argc, char *argv[])
{
float a,b,c,mostrar; // declaração de variaveis
printf("Digite os numeros\n");
scanf("%f%f%f",&a,&b,&c);
mostrar = maior(a,b,c);// chamada da função, o retorno da função é guardado na variavel mostrar.
printf(" O maior numero e %.2f\n",mostrar);
system("PAUSE");
return 0;
}
float maior(float x, float y, float z){ //função que compara os valores e retorna o maior valor
if(x > y && x > z)
return x;
if(y > x && y > z)
return y;
if (z > x && z > y)
return z;
}