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, 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;
}

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.

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.

#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.

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.

#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;

}

Funções

Uma função é uma unidade de código de programa autônoma desenhada para cumprir uma tarefa particular.
Uma função recebe um certo numero de parâmetros e retorna apenas um valor, deve ficar sempre fora da função main. Assim como declaramos variáveis também declaramos funções, essa declaração é chamada de protótipo e deve ser colocada no inicio do programa antes da função main.

Criando uma função:

Tipo nome (parâmetros)

{

Comandos;

}

Exemplo de uma Função para somar 2 numeros:

Int soma(int num1, int num2)

{
int Total;

Total = num1+num2;

Return Total;

}

Uma função que retorna valor geralmente é chamada fazendo uma atribuição do nome da função a uma variável.

Exemplo:

Resultado = soma(num1,num2);

Cada função deve ter um tipo e retornar um valor, entretanto tem um tipo de função que quebra essa regra, é a função void, essa função nunca retorna valor.

Exemplo de uma função void usada para mostrar o resultado da soma de 2 numeros:

Void Soma(int num1,int num2)

{
int Total;

Total= num1+num2;

printf(“O resultado da some dos números e %d ”,Total);

}

Uma função void é chamada pelo nome e seus parâmetros.

Exemplo:

Soma (num1,num2);

Strings

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.

Strings são vetores de char. As strings são de uso mais comum para os vetores. Devemos apenas ficar atentos para o fato de que as strings têm o seu último elemento como um '\0'. A declaração geral para uma string é:
char nome_da_string [tamanho];
Veremos agora algumas funções básicas para manipulação de strings.

Gets

A função gets() lê uma string do teclado inclusive os espaços. Sua forma geral é:
gets (nome_da_string);
O programa abaixo demonstra o funcionamento da função gets():

#include <>
#include <>

int main ()
{
char string[100];
printf ("Digite o seu nome: ");
gets (string);
printf ("\n\n Ola %s",string);
system("pause");
return(0);
}
Repare que é válido passar para a função printf() o nome da string. Você verá mais adiante porque isto é válido. Como o primeiro argumento da função printf() é uma string também é válido fazer:

printf (string);
isto simplesmente imprimirá a string.


strcpy

Sua forma geral é:
strcpy (string_destino,string_origem);
A função strcpy() copia a string-origem para a string- destino. Seu funcionamento é semelhante ao da rotina apresentada no exemplo anterior. As funções apresentadas nestas seções estão no arquivo cabeçalho string.h. A seguir apresentamos um exemplo de uso da função strcpy():

#include < >
#include < >
int main ()
{
char str1[100],str2[100],str3[100];
printf ("Entre com uma string: ");
gets (str1);
strcpy (str2,str1); /* Copia str1 em str2 */
strcpy (str3,"Voce digitou a string "); /* Copia "Voce digitou a string" em str3 */
printf ("\n\n%s%s",str3,str2);
system("pause");
return(0);
}

strcat

A função strcat() tem a seguinte forma geral:
strcat (string_destino,string_origem);
A string de origem permanecerá inalterada e será anexada ao fim da string de destino. Um exemplo:

#include <>
#include
int main ()
{
char str1[100],str2[100];
printf ("Entre com uma string: ");
gets (str1);
strcpy (str2,"Voce digitou a string ");
strcat (str2,str1); /* str2 armazenara' Voce digitou a string + o conteudo de str1 */
printf ("\n\n%s",str2);
system("pause");
return(0);
}


strlen

Sua forma geral é:
strlen (string);
A função strlen() retorna o comprimento da string fornecida. O terminador nulo não é contado. Isto quer dizer que, de fato, o comprimento do vetor da string deve ser um a mais que o inteiro retornado por strlen(). Um exemplo do seu uso:

#include < >
#include < >
int main ()
{
int size;
char str[100];
printf ("Entre com uma string: ");
gets (str);
size=strlen (str);
printf ("\n\nA string que voce digitou tem tamanho %d",size);
system("pause");
return(0);
}


strcmp

Sua forma geral é:
strcmp (string1,string2);
A função strcmp() compara a string 1 com a string 2. Se as duas forem idênticas a função retorna zero. Se elas forem diferentes a função retorna não-zero. Um exemplo da sua utilização:
#include < >
#include < >
int main ()
{
char str1[100],str2[100];
printf ("Entre com uma string: ");
gets (str1);
printf ("\n\nEntre com outra string: ");
gets (str2);
if (strcmp(str1,str2))
printf ("\n\nAs duas strings são diferentes.");
else printf ("\n\nAs duas strings são iguais.");
system("pause");
return(0);
}