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

sábado, 30 de outubro de 2010

Vetores ou matrizes unidimensionais.

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.


Vetor nada mais é do que uma coleção de variáveis do mesmo tipo é referenciado por um nome comum, seus elementos são acessados por índices tendo como primeiro índice o numero 0.

Exemplo de declaração de vetor inteiro com 5 posições.

Tipo nome [ nº de elementos]

Int numero [5];

Exemplo de declaração de vetor inteiro inicializado com 5 elementos.

Int numero [5] = {10,45,12,78,19};

Como popular um vetor?

Para preencher um vetor é preciso ter um laço de repetição onde enquanto a uma determinada condição for atendida um comando de atribuição ou de entrada é executado e assim populando o vetor.

A estrutura mais comum para isso é a estrutura FOR, veja como seria popular um vetor de 5 posições.

Usaremos um contador que deverá ser iniciado do 0 até o numero maximo de posições do seu vetor no nosso caso 5.

For(contador=0;contador<5;contador++) contador="0;contador<5;contador++)">
#include

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

// Declarção de vetores não inicializados.

int numero [5];

// Declaração de vetores inicializados.

int vetor [5] = {10,45,12,78,19};

/*Exemplo de como preencher um vetor.
Para popular um vetor é necessário percorrer todas as posições existentes nele, para utilizaremos
o laço de repetição for.
*/
printf("Digite os numeros do vetor:\n");

for(cont=0;cont<5;cont++) cont="0;cont<5;cont++)" cont="0;cont<5;cont++)">

Trocar o valor de duas variáveis.

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.


Um exercício de lógica muito comum e que deixa muita gente de cabelo em pé é aquele em que temos de trocar os valores de duas variáveis.

Exemplo:

Temos x=125 e y=547 e depois da troca temos os seguintes valores x =547 e y =125.

Para resolver esse problema é muito simples basta declarar uma variável auxiliar que utilizaremos para fazer as trocas de valores.

Primeiro devemos atribuir a variável auxiliar o valor de x.
Depois atribuímos a variável x o valor de y.
E por fim atribuiremos a y o valor da variável auxiliar.

Veja o exemplo na linguagem c.

#include
#include

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

{
int x = 125, y = 547, aux; // Declaração de variaveis.

printf("O valor de x e %d o valor de y e %d.\n\n",x,y);
// Na linha acima são impressos na tela os valores de x e y antes da troca.

aux = x; // Aqui atribuiremos o valor de x para aux.

x = y; // Agora atribuiremos o valor de y para x.

y = aux; //Agora atribuiremos o valor de aux para y.

printf("O valor de x e %d o valor de y e %d.\n\n",x,y);
// Na linha acima são impressos na tela os valores de x e y depois da troca.

system("PAUSE");

return 0;

}

Ordenação bolha.

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.


Chamado de Demônio das trocas no livro “C completo e total” da editora MAKRON BOOKS LTDA, o método de ordenação bolha é o mais comum de todas as formas de ordenar, isso por ser fácil de implementar, porém é sem duvida a forma de ordenar mais criticada, já que trabalha fazendo varias comparações e quando necessário faz a troca de posições entre dois elementos adjacentes.

Agora que já sabemos um pouco sobre o método bolha vamos colocar em ordem crescente o seguinte vetor:

Vet [6] ={15, 18, 17, 10, 16, 12}

Para essa ordenação devemos sempre comparar dois elementos da esquerda para a direita e se preciso trocá-los de posição até que todos os números estejam em ordem crescente.

Veja agora na linguagem c como ficaria um algoritmo para ordenar esse vetor.

#include
#include

int main(int argc, char *argv[])
{
int aux, i, j; // declaração de uma variável auxiliar e dois contadores.

int vet[6]={15,18,17,10,16,12}; // Declaração do vetor já inicializado.

for(i=0; i<6; i++){ // As dois comandos for são úteis para percorrer o vetor e colocar os indices no vetor

for(j=0; j<6; j++){ // na hora de comparar, os dois devem contar até o numero de elementos do vetor

if(vet[i] < vet[j]) { // Esse if é responsável por comparar os elementos do vetor e troca-los de posição quando necessário.
aux=vet[i]; // Comando que atribui vet na posição i na variável aux.

vet[i]=vet[j]; // Aqui atribuímos vet na posição j no vet com indice i.

vet[j]=aux;} // Agora atribuímos o valor da variável aux em vet na posição j.
}
}

for(i=0;i<6;i++) // Aqui temos uma estrutura de repetição for que irá imprimir o vetor.

{

printf("%d ",vet[i]);
}

system("PAUSE");

return 0;

}

domingo, 2 de agosto de 2009

domingo, 12 de julho de 2009

Contar até um numero digitado pelo usuario

#include
#include // Bibliotecas da linguagem C

int main( ) // Função Main
{

int num,cont; // Nesta linha é declarada duas variáveis uma com o nome num e outra com nome cont, as duas do tipo inteiro por isso colocamos int antes das variáveis.
printf(“Digite o numero ate onde o programa deve contar:”); // Esta linha usamos o printf para imprimir na tela a frase “Digite o numero ate onde o programa deve contar:”.
scanf("%d",&num); // Nesta usamos o "scanf" que tem como função receber valores.
for(cont=1;cont < num;cont++) // Aqui a estrutura de repetição "For" trabalha com as duas a cont que fará o papel de contador , a variável num que indica até onde deve ser contado, e um incremento que neste caso é representado por (cont++) que é o mesmo que escrever cont=cont+1.O for fará o seguinte teste antes de executar o comando abaixo: Inicia a variável cont=1, executa o teste para ver se cont é menor que a variável num, se o teste for verdadeiro o comando abaixo é executado e é somado o incremento a variável cont (incremento neste caso sempre de 1).
{printf("%d",cont);} //Nesta linha usamos (printf) para imprimir na tela o valor da variável cont.
system("PAUSE"); //Agora colocamos o system("PAUSE") para pausar o programa, se não colocarmos esse comando o programa se fechará muito rápido.
return 0;
}

For

O laço for possui três expressões, e é usado principalmente quando queremos repetir algo uma quantidade fixa de vezes.
A forma de usar o for é colocando primeiro o for e depois os parênteses contendo seus elementos, em primeiro lugar colocamos a inicialização que será executada apenas uma vez, depois vem o teste que é uma expressão relacional que é testada no inicio da repetição e o incremento que é algo que será somado executado o loop logo após a execução das instruções.
Sintaxe:
For(inicialização;teste;incremento)
{
Instruções
}
Exemplo:
Contar de 1 até 100
For(cont=1;cont<=100;cont++)
{
printf(“ %d”,cont);
}

1. O laço for inicializa a variável “cont” com o valor 1(cont=1).
2. Testa se cont é menor ou igual a 100(cont<=100)
3. Se o teste é verdadeiro ele executa as instruções dentro das chaves.
4. Incrementa 1 em “cont”(cont++).
5. Volta a testar a expressão e continua a repetição até o teste ser falso.

sábado, 11 de julho de 2009

Descobrir se um numero é par ou ímpar.

Na linguagem C é muito simples descobrir se um numero é par ou impar, para isto basta criar um programinha de duas variáveis e usar um recurso chamado MOD que é resto de uma divisão. Para explicar melhor linha por linha usarei comentários no meio do programa, os comentários são caracterizados por ( // ) duas barras no inicio da frase.
O programa começa da seguinte forma:
#include
#include //As duas linhas acima representam as bibliotecas da linguagem C.
int main( ) // Esta linha tem a função main( ), função obrigatoria em qualquer programa em C.
{
int num,resto; //Nesta linha declaramos as variaveis num e resto, a palavra int antes das variaveis indica o tipo das variaveis int quer dizer inteiro.
printf("Digite um numero:\n"); // O printf é usado para imprimir algo na tela, neste caso vai imprimir (Digite um numero:) o \n após os dois pontos é usado para pular linha.
scanf("\n%d",&num); //Usamos o scanf para receber valores dentro dos parênteses colocamos uma referência ao tipo da variável neste caso %d , e antes da variável colocamos o “e comercial” representado por este símbolo “&”.
resto=num%2; // Nesta linha finalmente vamos realizar o procedimento para descobrir se um numero é par ou ímpar, usamos a variável resto que é igual a variável num MOD2, como dito no inicio da postagem MOD é o resto da divisão de um numero por outro neste caso o MOD é representado pelo sinal de % (porcentagem) e o numero 2 indica por quanto a variável num deve ser divida.
if(resto==0) // If é a famosa condição SE, usada aqui para comparar o resto da divisão de num por 2, se a condição for verdadeira o comando abaixo será executado.
printf("\nEste numero e par\n"); //Este comando imprime na tela (Este numero e par).
else // Esta linha trás a condição Senão ,ou seja, se resto não for igual a zero execute o comando abaixo.
printf("\nEste numero e impar\n"); //Esta linha irá imprimir na tela (Este numero e impar).
system("PAUSE"); //Agora colocamos o system("PAUSE") para pausar o programa, se não colocarmos esse comando o programa se fechará muito rápido e não veremos se o numero digitado é par ou impar.
return 0;
}