printf("%d", matriz[0][1]); // Imprime o elemento da linha 0, coluna 1
Iteração (Loop Aninhado):
for (int i = 0; i < 2; i++) { // Percorre Linhasfor (int j = 0; j < 3; j++) { // Percorre Colunasprintf("%d ", matriz[i][j]);
}
printf("\n"); // Quebra linha após cada linha da matriz
}
#include<stdio.h>#define TAMANHO_LINHAS 3#define TAMANHO_COLUNAS 3intmain() {
int matriz[TAMANHO_LINHAS][TAMANHO_COLUNAS];
printf("Por favor, insira os 9 valores da matriz:\n\n");
for (int i = 0; i < TAMANHO_LINHAS; i++) {
// A cada nova linha, pedimos ao usuário para preencher os valores da coluna.printf("Insira os %d valores da Linha %d:\n", TAMANHO_COLUNAS, i + 1);
for (int j = 0; j < TAMANHO_COLUNAS; j++) {
printf(" Elemento [%d][%d]: ", i, j);
scanf("%d", &matriz[i][j]);
}
}
printf("\nLeitura da matriz concluída com sucesso!\n");
return0;
}
Exercício A
Crie um programa que leia uma matriz 4x4 imprima:
maior valor
menor valor
soma da diagonal principal
Exercício B
Crie um programa que inicializa duas matrizes 5x3 e pede que o usuário selecione uma das opções abaixo:
Opção 1: Calcular a soma das matrizes
Opção 2: Calcular a subtração das matrizes
O programa deve exibir o resultado da operação selecionada.
Matriz em Memória
Row-Major Order: C armazena matrizes na ordem das linhas.
são amplamente utilizadas em computação científica
servem como base para:
imagens
simulações
jogos
inteligência artificial
Próximo Tópico: Strings em C
Dúvidas e Discussão
Exercício e Questões
Questão 1
Qual das alternativas representa corretamente uma matriz 3x4 em C?
A)
int matriz[3,4];
B)
int matriz[3][4];
C)
intmatriz(3)(4);
Questão 2
Qual é o erro abaixo?
int matriz[2][2];
matriz[2][0] = 5;
Exercício 1
Crie um programa que inicialize uma matriz 4 x 3 e imprima a matriz transposta.
Transposta: Dado uma matriz de , a matriz transposta é definida como .
Exercício 2
Crie um programa que calcule e imprime a multiplicação de duas matrizes. Se as matrizes forem incompatíveis, o programa deve exibir uma mensagem de erro.