Publicidade

10

Matrizes e Strings

As matrizes em geral são caracterizadas por se tratarem de uma única variável de um determinado tamanho que guarda varias informações do mesmo tipo. Essas informações são gravadas na memória sequencialmente e são referenciadas através de índices. As matrizes podem ser tanto unidimensionais (vetores) como multidimensionais.
 

Matrizes unidimensionais

 
São matrizes de uma única dimensão. Essas matrizes também são chamadas de vetores. A declaração de vetores em C deve obedecer a seguinte sintaxe:
 
Tipo nome_vetor[tamanho];
 
O tipo deve ser especificado conforme a tabela 2 do primeiro artigo. E o tamanho representa a quantidade de elementos que esta matriz irá conter. É importante dizer que na linguagem c as matrizes começam pelo índice 0 que guarda o primeiro elemento da matriz. Para entender melhor, considere que seja necessário declarar um vetor do tipo inteiro que contenha 10 elementos. Isto é feito da seguinte forma:

int vetor_exemplo[9];
 
Isso por que a matriz “vetor_exemplo” vai de 0 a 9, ou seja, contém 10 elementos. Também é possível inicializar o vetor no momento de sua declaração. Para isso veja a sintaxe abaixo:

Tipo nome_vetor[tamanho]={lista_de_valores};
 
Sendo que todos os elementos da lista de valores devem ser separados por virgula e serem todas do mesmo tipo de dados especificado. A seguir temos a declaração do “vetor_exemplo” com os valores atribuídos.
 
int vetor_exemplo[9]={0,1,2,3,4,5,6,7,8,9};

Exemplo de um programa completo utilizando vetores e outros conceitos estudados até o momento.

Exemplo 1:
 main(){

int n[10];//defini o tamanho do vetor de inteiro como sendo 10,lembrando que se começa a contar a parti do zero
int i;
for(i=0;i<10;i++){
printf("Digite um numero");
scanf("%d",&n[i]);\\a cada vez que o i é incrementado se percorre uma posição do vetor colocando um inteiro
}
}

Exemplo 2:
main()
{
 int n[]={0,1,2,3,4,5,6,7,8,9}/*veja que nesse caso não foi preciso colocar o tamanho do vetor,isso  só foi possível garças ao conteúdo do vetor que foi declarado logo no inicio*/
 
}


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. Veja o programa abaixo: 
Exemplo:
main(){
 int n[2][2];
int i;
int j;
for(j=0;j<2;j++){
for(i=0;i<2;i++){
printf("\nDigite um numero");
scanf("%d",&n[i][j]);// a cada vez que o j incrementa o i irá incrementar e o usuário vai preencher a coluna depois,o j incrementa novamente o i incrementa novamente e o usuário preenche outra coluna
 }}

for(j=0;j<2;j++){//imprimi a matriz com a mesma ideia na qual foi preenchida
for(i=0;i<2;i++){
printf("%d\n",n[i][j]);
} }

}

 String
 
A linguagem C não possui um tipo específico de dados Strings. Para fazer umastring, o C utiliza um vetor de caracteres, onde cada posição do vetor representa umaletra. É importante lembrar que a linguagem C identifica o fim de uma cadeia por meio docaracter nulo (\0). Sendo assim, para termos uma string, sempre temos que ter umaposição a mais de tamanho no vetor para este caracter no final. Por exemplo, paraarmazenarmos a palavra CADEIA, temos que declarar um vetor do tipo char com seteposições, e elas ocuparão posições seqüenciais na memória
Exemplo 1:
main(){
char cadeia[7]; //cada letra fica em uma posição do vetor
int i=0;
 cadeia="Cadeia";
 do{//imprimi "Cadeia"

 printf("%c",cadeia[i]);
i++;

 }while(cadeia[i]!='\0');
//ou
printf("%s",n);/*imprimi "Cadeia" essa maneira é melhor pois imprimi toda a String com muito mais facilidade */


Manipulação de Strings
 
Para trabalharmos com esses vetores especiais que chamamos de Strings,precisaremos incluir a biblioteca string.h
  • strcpy (str1, str2)
Esta função é utilizada para copiar o conteúdo de uma string em outra. A primeirastring terá o mesmo valor da segunda string. Podemos também colocar uma string qualquer entre aspas ao invés de uma variável no lugar de str2.Importante lembrar que o tamanho de str2 deve ter no máximo o mesmo tamanho destr1. Str2 pode ser menor, nunca maior que str1. Mesmo no caso de colocarmos uma string manualmente (fazer uma cópia sem utilizarmos str2 como demonstrado no exemploabaixo) não podemos ultrapassar o tamanho de str1 menos 1.
 Exemplo 1:
 #include<stdio.h>
 #include<string.h>
 int main()
 {char str1[40],str2[40];
 strcpy(str2,"TESTE INICIAL ");
 strcpy(str1,str2);printf("%s",str1);
printf("\n%s",str2);}
 
 Resultado na tela: 
TESTE INICIAL
 TESTE   INICIAL




 Fonte:

  •  http://pt.scribd.com/doc/19793669/Strings-e-suas-funcoes-em-linguagem-C
Data de acesso:27/04/2013 Hora:20:24






Nenhum comentário:

Postar um comentário