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;

}