300x250 AD TOP

Blogger news

AD (728x90)

Tecnologia do Blogger.

Colaboradores

Seguidores

Postagens populares

Tagged under:

Linguagem C - Vetores


Estruturas de Dados Homogêneas - Vetores

Nos primeiros posts tínhamos trabalhado somente como a forma mais simples de atribuição de variáveis, aquela que uma variável recebe somente um valor informado.

Ex: x=1; x=2; x=3 etc. 

Porém, muitas vezes em um programa necessitados receber uma série de valores do mesmo tipo, informados pelos usuários, algo na faixa de 50 a 100 valores do mesmo tipo, por exemplo, Pensando de forma lógica seria inviável declarar essa quantidade de variáveis. A forma mais sensata para resolver essa situação seria a utilização de vetores, Mas então você pensa. O que são Vetores?


Vetores são estruturas de dados Homogêneas usadas para tratamento de conjuntos de dados que possuem as mesmas características. Uma das vantagens de usar vetores é que o conjunto recebe um nome comum e elementos deste conjunto são referenciados através de índices.

Exemplo de um vetor:

Vetor
10
5
9
2
77
13
25
6
11
Índice
0
1
2
3
4
5
6
7
8

DECLARAÇÃO DE VETORES

A declaração de um vetor é algo bem simples de se fazer, primeiro deve-se escolher o tipo (int, float, char etc.), posteriormente escolher um nome e por ultimo informar o tamanho.

tipo nome [tamanho];

Importante:
Todo vetor apresenta o primeiro elemento com índice 0 e o último (tamanho –1).

Segue abaixo alguns exemplos de declarações de vetores:

int numeros[1000];
/* conjunto de 1000 números inteiros */
float notas[65];
/* conjunto de 65 números reais */
char nome[40];
/* conjunto de 40 caracteres */

Curiosidade:
O espaço de memória, em bytes, ocupado por um vetor é igual a:
Espaço = tamanho * (número de bytes ocupado por tipo)

Também é importante lembrar que em C não há verificação de limites em vetores. Isto significa que é possível ultrapassar o fim de um vetor e escrever em outras variáveis, ou mesmo em trechos de código. Por isso é tarefa do programador fazer com que os índices dos vetores estejam sempre dentro dos limites estabelecidos pela declaração do vetor.

Deixando de lado um pouco da teoria, vamos partir agora para pratica onde mostrarei uma série de exemplos feitos para demostrar um pouco da utilização de vetores.

Exemplo 1:

#include "stdio.h"
#include "conio.h"
#define TAMANHO 5
main(){
    int vetor[TAMANHO];
    int i, num;
   
    printf ("Digite o  numero inicial do Vetor. ");
    scanf ("%d", &num);
    /* atribuição de valores ao vetor */
    for (i = 0 ; i < TAMANHO; i++){
         vetor[i] = num++;
    }
    /* impressão dos valores*/
    for (i = 0; i < TAMANHO; i++){
        printf ("Elemento %d = %d\n", i, vetor[i]);
    }
    getche();
}

Note que o exemplo acima faz uso da diretiva #define TAMANHO 5 para definir uma constante, que será usada para estabelecer o tamanho do vetor. Esta constante passa a ser usado nas referências ao vetor. Caso seja necessário trocar o tamanho do vetor basta alterar o valor da constante.

Exemplo 2:

O exemplo, mostrado a seguir, calcula a soma dos elementos de um vetor A com os de um vetor B, gerando um vetor C. Note a utilização do & para realizar a leitura dos elementos dos vetores.
#include "stdio.h"
#include "conio.h"
#define TAMANHO 5
main(){

    int A[TAMANHO], B[TAMANHO],C[TAMANHO], i; //declaração das variáveis
    printf ("Vetor A, de %d posicoes:\n", TAMANHO);
    for (i = 0; i < TAMANHO; i++){
        printf ("\nElemento %d : ", i);
        scanf ("%d", &A[i]); // atribuição de valores ao vetor A
    }
    printf("Vetor B, de %d posicoes:\n", TAMANHO);
    for (i = 0; i < TAMANHO; i++){
        printf ("\nElemento %d : ", i);
        scanf ("%d", &B[i]);// atribuição de valores ao vetor B
    }
    printf("Vetor C, de %d posicoes:\n", TAMANHO);
    for (i = 0; i < TAMANHO; i++){
        C[i] = A[i] + B[i]; // atribuição de valores ao vetor C
        printf ("\nElemento %d :  %d", i, C[i]);
    }
    getche();
}

Exemplo 3:

Nesse exemplo apresentarei a solução desenvolvida com vetores para a criação da sequência Fibonacci.

#include "stdio.h"
#include "conio.h"
main(){
    int num;
    printf("Digite a quantidade de elementos: ");
    scanf("%d",&num);
   
    int Fib[num];
    int i=1;
    Fib[0] = 1;
    Fib[1] = 1;
    for (;i!=num;){            
        Fib[i+1] = Fib[i] + Fib[i-1];
        i++;
    }
    printf("\nSequencia Fibonacci: \n");
    for (i=0;i!=num;i++)
        printf(", %d",Fib[i]);
    getche();
}

Caso tenha encontrado alguma dificuldade em entender a utilização do for no exemplo acima, recomendo a leitura do post sobre Laço For. 

Eles dizem que é impossível encontrar o amor sem perder a razão... Mais pra quem tem pensamente forte, o impossível é uma questão de opinião, e disso os loucos sabem... Só os loucos sabem...
                                                                                                                       Charlie Brown Jr

0 comentários:

Postar um comentário