ALP – Algoritmos e Programação
Prof. Adriano Fiorese
Variáveis Indexadas Multidimensionais
. Conceito
. Exemplos
.Exercícios
1
Prof. Adriano Fiorese
Variáveis Indexadas Bi-dimensionais
Um vetor é uma variável indexada unidimensional. Ou
seja, apenas seu comprimento é declarado e usado
para armazenar valores. Esse comprimento é usado
através dos índices.
Uma matriz é uma variável bi-dimensional pois, além do
comprimento, pode-se usar a largura para armazenar
dados.
Assim, para acessar uma informação em uma matriz,
precisaremos de valores para dois índices. Um para a
dimensão comprimento (também conhecida por coluna)
e outro para a dimensão largura (também conhecida
por linha).
2
Variáveis Indexadas Bi-dimensionais
Prof. Adriano Fiorese
Como declarar uma variável matriz?
<tipo> <nome variável>[nº linhas][nº colunas];
Ex: int B[4][4];
Exemplo de matriz:
Linhas
0
1
2
3
0
B[0][0]
B[1][0]
B[2][0]
B[3][0]
1
B[0][1]
B[1][1]
B[2][1]
B[3][1]
2
B[0][2]
B[1][2]
B[2][2]
B[3][2]
3
B[0][3]
B[1][3]
B[2][3]
B[3][3]
Colunas
Memória
Assim, por exemplo, para atribuir o valor 15, na 2ª linha e 3ª
coluna usamos:
B[1][2] = 15;
3
Variáveis Indexadas Bi-dimensionais - Matrizes
Prof. Adriano Fiorese
Da mesma forma que vetores, matrizes são estruturas
de dados homogêneas pois armazenam apenas valores
de um tipo de dados específico em todas as suas
posições.
Nome da Variável
V
Linhas
0
1
2
3
0
1
2
20
30
50
-7
80
15
-20
10
100
-5
20
45
3
Colunas
-120
35
40
15
Assim, temos a variável V, do tipo int, com 16 posições de
memória, indexada por 0, 1, 2 e 3 nas linhas e nas
colunas.
4
Variáveis Indexadas Bi-dimensionais - Matrizes
Prof. Adriano Fiorese
Como manipular matrizes?
Ex:
int Matriz[3][5];
i = 2;
j = 1;
Matriz[i][j+i] = 10;
Matriz[j][1+2] = 40;
Matriz[i-1][j+1] = Matriz[i][j-1] * 2;
Matriz[2][2] = 5;
Matriz[i-2][j-1] = Matriz[i-2][j] +1;
5
Variáveis Indexadas Bi-dimensionais - Matrizes
Fazer um programa em C, para ler uma matriz A de
Prof. Adriano Fiorese
números reais de ordem 2x2 (A(2x2)). Para cada
elemento da matriz multiplique por 2 e guarde o
resultado em uma matriz de mesma ordem chamada B.
6
Variáveis Indexadas Bi-dimensionais - Matrizes
Prof. Adriano Fiorese
Exemplo:
4,5
6,4
7,5
5,6
9,0
* 2 = 12,8
15,0
11,2
7
#include <stdlib.h>/*função printf */
int main(){
float A[2][2], B[2][2];
int i,j;
Prof. Adriano Fiorese
for(i=0; i < 2; i++){
for(j=0; j < 2; j++){
printf("Entre com o numero %d:%d ",i+1,j+1);
scanf(“%f”,&A[i][j]);
}
}
for(i=0; i < 2; i++){
for(j=0; j < 2; j++){
B[i][j] = A[i][j] * 2;
printf(“B[%d][%d]= %.2f\n”,i,j,B[i][j]);
}
}
}
8
Variáveis Indexadas Bi-dimensionais - Matrizes
Faça um programa em C, para ler uma matriz A e outra
Prof. Adriano Fiorese
matriz B de valores inteiros. Ele deve somar as 2
matrizes e colocar o resultado em uma matriz C. A matriz
C deverá ser impressa na tela. Considere a ordem das
matrizes lidas como 4x3.
9
#include <stdlib.h>/*função printf */
int main(){
float A[4][3], B[4][3], C[4][3];
int i,j;
Prof. Adriano Fiorese
for(i=0; i < 4; i++){
for(j=0; j < 3; j++){
printf("Entre com o numero A[%d][%d] ",i+1,j+1);
scanf(“%f”,&A[i][j]);
printf("Entre com o numero B[%d][%d] ",i+1,j+1);
scanf(“%f”,&B[i][j]);
C[i][j] = A[i][j] + B[i][j];
}
}
}
for(i=0; i < 4; i++){
for(j=0; j < 3; j++){
printf(“C[%d][%d]= %.2f\n”,i,j,C[i][j]);
}
}
10
Download

B[2] - Udesc