Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Teoria - Vetor e Matriz, Notas de estudo de Informática

Vetor e Matriz

Tipologia: Notas de estudo

2014

Compartilhado em 12/11/2014

weslley-rocha-4
weslley-rocha-4 🇧🇷

1 documento

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Definição de Vetor e Matriz em Linguagem C
As matrizes em geral são caracterizadas por se tratarem de uma única variável de um determinado tamanho que
armazena várias informações do mesmo tipo. Essas informações são gravadas na memória seqüencialmente 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 de acordo com o tipo de informação que será armazenado no vetor (ex. int float,
char,...). E o tamanho representa a quantidade de elementos que este vetor 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[10];
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 vírgula 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[10]={0,1,2,3,4,5,6,7,8,9};
Exemplo de um programa completo utilizando vetores e outros conceitos estudados até o momento.
#include<stdio.h>
#include<conio.h>
int main() {
int vetor1[5]={1,2,3,4,5}; //declaração e inicialização do vetor
int vetor2[5]={6,7,8,9,0}; //declaração e inicialização do vetor
int vetorSoma[5]; //declaração do vetor que armazenará o resultado da soma dos dois vetores
int x;
printf("Programa que soma os dois vetores abaixo:\n");
printf("vetor1={1,2,3,4,5}\n");
printf("vetor2={6,7,8,9,0}\n");
printf("\nVetor resultante da soma:\n");
for (x=0; x<5; x++)
{
vetorSoma[x]=vetor1[x]+vetor2[x]; //soma os valores e armazena no vetorSoma
printf("vetorSoma[%d]: %2d\n",x,vetorSoma[x]); //exibe na tela os valores armazenados no vetorSoma
} //fim do for
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe Teoria - Vetor e Matriz e outras Notas de estudo em PDF para Informática, somente na Docsity!

Definição de Vetor e Matriz em Linguagem C

As matrizes em geral são caracterizadas por se tratarem de uma única variável de um determinado tamanho que

armazena várias informações do mesmo tipo. Essas informações são gravadas na memória seqüencialmente 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 de acordo com o tipo de informação que será armazenado no vetor (ex. int float,

char,...). E o tamanho representa a quantidade de elementos que este vetor 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[10];

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 vírgula 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[10]={0,1,2,3,4,5,6,7,8,9};

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

#include<stdio.h> #include<conio.h> int main() { int vetor1[5]={1,2,3,4,5}; //declaração e inicialização do vetor int vetor2[5]={6,7,8,9,0}; //declaração e inicialização do vetor int vetorSoma[5]; //declaração do vetor que armazenará o resultado da soma dos dois vetores int x; printf("Programa que soma os dois vetores abaixo:\n"); printf("vetor1={1,2,3,4,5}\n"); printf("vetor2={6,7,8,9,0}\n"); printf("\nVetor resultante da soma:\n"); for (x=0; x<5; x++) { vetorSoma[x]=vetor1[x]+vetor2[x]; //soma os valores e armazena no vetorSoma printf("vetorSoma[%d]: %2d\n",x,vetorSoma[x]); //exibe na tela os valores armazenados no vetorSoma } //fim do for

getch(); return 0; } //fim do programa

Os vetores são muito usados para criar uma string de caracteres, pois em C não existe nenhum tipo de dados para

definir uma string. A declaração de um vetor contendo uma string sempre deve ser maior que o número de

caracteres, pois o compilador acrescenta automaticamente no final da string um espaço nulo que indica o seu

término. Este segundo exemplo é muito simples, mostra apenas como podem ser feitas a declaração e inicialização

de um vetor de string.

#include<stdio.h> #include<conio.h> int main() { char c1 = 'a'; char vetor1[30]="Aprendendo a mexer com string\n"; /Imprimindo os dados na tela/ printf("O tipo de dado char guarda apenas um caractere\n"); printf("A variavel c1 do tipo char contem o caractere: %c\n",c1); printf("\n"); printf("Para trabalhar com uma string deve ser declarado um vetor do tipo char"); printf("\nO vetor do tipo char contem a string: %s",vetor1); getch(); return 0; } /fim do programa/

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:

#include<stdio.h> #include<conio.h> int main() { int mat[2][2]; float det; int x,y; printf("Este programa serve para cadastrar os dados na matriz e exibir o dobro de cada elemento"); printf("\n\nEntre com os valores da matriz:\n"); for(x=0;x<2;x++) { for(y=0;y<2;y++) { printf("mat[%d][%d]=",x+1,y+1); scanf("%d",&mat[x][y]);

int x,y; printf("\n Imprimindo a matriz mat1 cujo o tamanho foi especificado:\n"); for(x=0;x<2;x++) { for(y=0;y<2;y++) { printf("\n mat1[%d][%d]=%d",x,y,mat1[x][y]); } /fim do for/ } /fim do for/ printf("\n\n Imprimindo a matriz mat2 cujo o tamanho nao foi especificado:\n"); for(x=0;x<2;x++) { for(y=0;y<2;y++) { printf("\n mat2[%d][%d]=%d",x,y,mat2[x][y]); } /fim do for/ } /fim do for/ getch(); return 0; } /fim do programa/

Do mesmo modo verifica-se através da saída abaixo que tanto a matriz mat1 como a matriz mat2, obtiveram os

mesmos resultados embora tenham sido declaradas de maneira diferente.

Vetor de strings

Para criar um vetor de strings , deve-se utilizar uma matriz bidimensional de caracteres, onde o tamanho do índice

esquerdo determina o número de strings e o tamanho do índice direito especifica o comprimento máximo de cada

string.

Exemplo : char palavra [3][8];

0 1 2 3 4 5 6 7 0 ‘U’ ‘N’ ‘I’ ‘P’ NULL lixo lixo lixo (^1) ‘C’ ‘I’ ‘E’ ‘N’ ‘C’ ‘I’ ‘A’ NULL 2 ‘2’ ‘0’ ‘0’ ‘9’ NULL lixo lixo lixo

Cria um vetor com 3 strings com 7 caracteres + '\0' (NULL) cada uma. Para acessar uma string específica deve-se

especificar apenas o índice da linha onde se encontra a String, ou seja, palavra[0], palavra [1] ou palavra [2].

printf(“%s”, palavra[0]); // exibirá UNIP

printf(“%s”, palavra[1]); // exibirá CIENCIA

printf(“%s”, palavra[2]); // exibirá 2009

Observação : Pode-se acessar também qualquer caractere de qualquer uma das strings , isto é feito utilizando os

dois índices, como por exemplo:

printf(“%c”, palavra[0][3]); // exibirá o caractere ‘P’

printf(“%c”, palavra[1][6]); // exibirá o caractere ‘A’

printf(“%c”, palavra[0][2]); // exibirá o caractere ‘2’

Manipulação de strings

As funções strcpy , strcmp , strcat são necessárias, pois uma string nada mais é do que um vetor de caracteres, ou

seja, não se pode atribuir vários valores (ao mesmo tempo) para os elementos de um vetor. Isto só pode ser feito

quando o vetor é declarado e inicializado ou um de cada vez.

Exemplo : char s[] = “MICRO”; /* correto */

ou

s[0] = ‘M’; /* correto – elemento por elemento */

s[1] = ‘I’;

s[2] = ‘C’;

s[3] = ‘R’;

s[4] = ‘O’;

s[5] = NULL;

ou

s = “MICRO”; /* incorreto – erro GRAVE em C */

strcpy

A função strcpy (cópia de string) permite copiar uma string para outra ou inicializar uma string.

Sintaxe: strcpy (destino, origem);

O programa abaixo mostra como copiar caracteres para uma string.

#include <stdio.h> #include <conio.h> #include <string.h> int main() { char msg1[] = "Primeira Mensagem \n"; //declaração e inicialização da string char msg2[20]; strcpy(msg2, “Segunda Mensagem”); printf("Conteúdo da variavel msg1: %s",msg1);

int main(void) { char s1[]="Gua", s2[]="ra",s3[]="ni"; char sr[20]; printf("%s\n",s1); printf("%s\n",s2); printf("%s\n",s3); strcpy(sr,s1); // copia o conteúdo de s1 em sr strcat(sr,s2); // concatena o conteúdo de s2 em sr strcat(sr,s3); // concatena o conteúdo de s3 em sr strcat(sr, " Campeao"); // concatena a palavra Campeao em sr printf("\n%s",sr); getch(); return 0; }

strlen

A função strlen (comprimento de uma string) retorna o comprimento de uma string , ou seja, a quantidade de

caracteres que a string possui no momento.

Observação : O NULL não é contado.

Sintaxe: strlen (string);

O programa imprime na tela a quantidade de caracteres de uma variável string, neste caso, a variável nome.

#include <stdio.h> #include <conio.h> #include <string.h> int main() { char nome[50]; printf("Digite o seu nome: "); fflush(stdin); gets(nome); printf("%s, seu nome tem %d caracteres\n", nome, strlen (nome)); getch(); return 0; }

strchr

A função strchr verifica se um caracter ( chr ) pertence a uma string ( str ).

Sintaxe: int strchr (const char *s, char ch);

O programa imprime na tela o número de caracteres de um nome.

#include <stdio.h> #include <conio.h>

#include <string.h> int main() { char nome[50]; char ch; do { printf("\nQual o seu nome: "); fflush(stdin); gets(nome); printf("Seu nome tem %d caracteres\n", strlen(nome)); printf("Continuar [S]im ou [N]ão ?"); ch = getch(); //armazena o caractere digitado na variável ch } while (!strchr("Ss",ch)); //verifica se o conteudo da variavel ch eh 'S' ou 's' return 0; }