Uma matriz em C é uma estrutura de dados bidimensional que consiste em uma coleção de elementos do mesmo tipo, organizados em linhas e colunas. Para criar uma matriz em C, é necessário especificar o número de linhas e colunas, além do tipo de dados que a matriz armazenará.
A sintaxe para declarar uma matriz em C é a seguinte:
tipo_de_dado nome_da_matriz[numero_de_linhas][numero_de_colunas];
Como exemplo, para criar uma matriz de inteiros com 3 linhas e 4 colunas, podemos usar o seguinte código:
int matriz[3][4];
Podemos acessar os elementos da matriz usando os índices de linha e coluna. Os índices começam em zero e vão até o número de linhas ou colunas menos um. Como exemplo, para acessar o elemento na segunda linha e terceira coluna da matriz, podemos usar o seguinte código:
matriz[1][2] = 10;
O código acima atribui o valor 10 ao elemento na segunda linha e terceira coluna da matriz.
As matrizes em C são úteis para armazenar dados em forma tabular, como valores de uma planilha. Elas são amplamente utilizadas em programas que envolvem cálculos matemáticos, simulações e processamento de imagens, jogos, dentre outros.
A imagem a seguir apresenta o mapa mental contendo a subdivisão e a utilização de uma matriz na linguagem C.

Crie um código utilizando as estruturas de uma matriz e cole no comentário.
//2 – Crie um algoritmo que preencha uma matriz 10×20 com números inteiros e some cada uma
//das linhas, armazenando o resultado das somas em um vetor. A seguir, o programa deverá
//multiplicar cada elemento da matriz pela soma da linha correspondente e mostrar a matriz
//resultante.
#include
#define TAMi 2
#define TAMj 2
int main ()
{
int i,j;
int M[TAMi][TAMj];
int SOMA[TAMi]= {0};
int R[TAMi][TAMj];
printf(“Informe os elementos da matriz:\n”);
for (i=0; i<TAMi; i++)
{
for (j=0; j<TAMj; j++)
{
printf("M[%d][%d]:", i+1,j+1);
scanf("%d",&M[i][j]);
}
}
for (i = 0; i < TAMi; i++)
{
for (j = 0; j< TAMj; j++)
{
SOMA[i] += M[i][j];
}
}
for (i = 0; i < TAMi; i++)
{
for (j = 0; j< TAMj; j++)
{
R[i][j] = SOMA[i]*M[i][j];
}
}
printf("\nMatriz Informada:\n");
for (i=0; i<TAMi; i++)
{
for (j=0; j<TAMj; j++)
{
printf("%d\t",M[i][j]);
}
printf("\n");
}
printf("\nMatriz Resultante:\n");
for (i=0; i<TAMi; i++)
{
for (j=0; j<TAMj; j++)
{
printf("%d\t",R[i][j]);
}
printf("\n");
}
return 0;
}
CurtirCurtir
#include
#include
main()
{
int i, codcid, qtdveic, acid, maior=0, media, codmaior, cont=0, soma2000=0, media2000, menor=999, codmenor, somaveic=0; //A variável i vai servir de motor para a estrutura de repetição
for(i=0; i<5; i++) //1 Parte=inicialização=0; 2Parte=condição maior)
{
maior=acid;
codmaior=codcid;
}
if(acid < menor)
{
menor=acid;
codmenor=codcid;
}
somaveic=somaveic+qtdveic;
if(qtdveic < 2000)
{
soma2000=soma2000+acid;
cont++;
}
media2000=soma2000/cont;
}
media=somaveic/5;
printf("O maior indice de acid de transito e de %d acidentes na cidade %d \n", maior, codmaior);
printf("O menor indice de acid de transito e de %d acidentes na cidade %d \n", menor, codmenor);
printf("A media de veiculos nas cinco cidades e de : %d \n", media);
printf("A media de acid de trans nas cidades com menos de 2000 veic e de : %d \n", media2000);
system("pause");
}
CurtirCurtir
Exercício 13, atividade 1
CurtirCurtir
Exercício 1, atividade 2
#include
int main() {
char carro[5][20];
float km[5], qtd_1 = 0, consumo1000[5];
int i, economico = 0;
for (i =0; i < 5; i++) {
printf ("informe o nome do carro: ", i+1);
scanf ("%s", &carro[i]);
printf ("\ninforme o consumo (km/l) do carro: ", carro[i]);
scanf ("%f", &km[i]);
if (km[economico] < km[i]) {
economico = i;
}
consumo1000[i] = 1000.0 / km[i];
}
printf ("melhor consumo: %s\n", carro[economico]);
for (i = 0; i < 5; i++){
printf ("consumo do %s em 1000 km eh %.2f litros\n", carro[i], consumo1000[i]);
}
return 0;
}
CurtirCurtir
Lista- 1
Exercicio 12:
#include
#include
#include
#include
main()
{
int op;
float Sal, Imps, NewSal;
printf(“\n\n1 – Imposto\n2 – Novo Salario\n3 – Classificacao\nDigite a opcao desejada:\n\n”);
scanf(“%d”,&op);
switch(op){
case 1:
printf(“1. Imposto:\n”);
printf(“Digite seu salario:\n”);
scanf(“%f”,&Sal);
if (Sal < 1302){
Imps = (Sal * 5)/100;
printf("Seu Imposto e de: %f", Imps);
} else if(1302 < Sal 2000){
Imps = (Sal * 15)/100;
printf(“Seu Imposto e de: %f”, Imps);
}
break;
case 2:
printf(“2. Novo Salario:\n”);
printf(“Digite seu salario:\n”);
scanf(“%f”,&Sal);
if (Sal > 2000){
NewSal = Sal + 25;
printf(“Seu novo salario e de: %f\n”, NewSal);
} else if(Sal = 1302){
NewSal = Sal + 50;
printf(“Seu novo salario e de: %f\n”, NewSal);
}else if(Sal = 651){
NewSal = Sal + 75;
printf(“Seu novo salario e de: %f\n”, NewSal);
}else if(Sal 2000) printf(“Bem remunerado”);
else printf(“Mal remunerado”);
break;
}
}
Lista 2
Exercicio 2:
#include
int main(){
int Num[10],i,Maior50[10], posi[10], j = 0, k = 0 ;
printf(“Insira os valores para guardar no Vetor:\n”);
for(i=0; i < 10; i++){
scanf("%i", &Num[i]);
}
for (i = 0; i = 50){
Maior50[j] = Num[i];
posi[k] = i;
j++;
k++;
}
}
if(j == 0){
printf(“Nao temos numeros maiores que 50”);
}else{
printf(“Os numeros maiores que 50 sao:\n”);
for (i=0; i < j ; i++){
printf("%i, ", Maior50[i]);
}
printf("\nE suas posicoes sao:\n");
for (i=0; i < k ; i++){
printf("%i, ", posi[i]+1);
}
}
}
Lista 3
Exercicio 1:
#include
main(){
int Matriz[2][2], Maior = 0, i, j, MR[2][2];
printf(“Insira os valores da matriz M:\n”);
for(i=0; i<2; i++){
for(j=0; j Maior){
Maior = Matriz[i][j];
}
}
}
printf(“\n”);
for(i=0; i<2; i++){
printf("\n");
for(j=0; j<2; j++){
MR[i][j] = Maior * Matriz[i][j];
printf("%i ,", MR[i][j]);
}
}
}
CurtirCurtir
Lista 1 – EX13
#include
#include
int main()
{
int i,CC,QV,QA,MAIOR=0,MENOR=1000,CODMAIOR,CODMENOR,CONT=0,SOMAV,SOMA2000,MEDIA2000,MEDIA;
for (i=0;iMAIOR)
{
MAIOR=QA;
CODMAIOR=CC;
}
if (QA<MENOR)
{
MENOR=QA;
CODMENOR=CC;
}
SOMAV=SOMAV+QV;
if(QV<2000)
{
SOMA2000=SOMA2000+QA;
CONT++;
}
MEDIA2000=SOMA2000/CONT;
}
MEDIA=SOMAV/5;
printf("O maior indice de acid de transito e de %i acidentes na cidade %i \n", MAIOR,CODMAIOR);
printf("O menor indice de acid de transito e de %i acidentes na cidade %i \n", MENOR,CODMENOR);
printf("A media de veiculos nas cinco cidades e de : %i \n", MEDIA);
printf("A media de acid de trans nas cidades com menos de 2000 veic e de : %i \n", MEDIA2000);
return 0;
}
CurtirCurtir
Lista 2 – EX7
#include
int main()
{
int i,N[15];
for (i=0;i<15;i++)
{
printf("informe um numero:");
scanf("%i",&N[i]);
}
printf("\nos numeros iguais 30 estao nas posicoes:");
for (i=0;i<15;i++)
{
if(N[i]==30)
{
printf("\n%i",i+1);
}
}
return 0;
}
CurtirCurtir
lista 2 EX 2
Faça um algoritmo que carregue um vetor com dez números inteiros. Calcule e mostre os números superiores a 50 e suas respectivas posições. Mostrar mensagem se não existir nenhum número nessa condição.
#include
int main()
{
int num[10];
int i, count = 0;
for(i = 0; i < 10; i++){
printf("Informe um numero: ");
scanf("%d", &num[i]);
}
printf("\n\n");
for(i = 0; i 50){
printf(“Numero: %d || Posicao:[%i]\n”, num[i], i);
count++;
}
}
if(count == 0){
printf(“Nenhum numero informado e maior que 50.\n”);
}
return 0;
}
CurtirCurtir
#include
#define tam 2
int main()
{
int M[tam][tam], I, J, maior=0;
printf(“Informe os valores da matriz:\n”);
for(I=0;I<tam;I++){
for(J=0;Jmaior){
maior = M[I][J];
}
}
}
printf(“\nMatriz informada:\n”);
for(I=0;I<tam;I++){
for(J=0;J<tam;J++){
printf("[%d]", M[I][J]);
}printf("\n");
}
printf("\nMatriz multiplicada pelo maior numero informado:\n");
for(I=0;I<tam;I++){
for(J=0;J<tam;J++){
printf("[%d]",M[I][J]*maior);
}printf("\n");
}
return-1;
}
CurtirCurtir
Lista 3// ex2
#include
int main()
{
int m[2][12], somai[10], i, j;
for (i = 0; i < 10; i++) {
for (j = 0; j < 20; j++) {
printf("Informe o número: ");
scanf("%d" , &m[i][j]);
}
}
for (i = 0; i < 10; i ++) {
somai[i] = 0;
for (j = 0; j < 20; j++) {
somai[i] += m[i][j];
}
}
for (i = 0; i < 10; i++) {
for (j = 0; j < 20; j++) {
m[i][j] *= somai[i];
}
}
printf("\nMatriz resultante:\n");
for (i = 0; i < 10; i ++) {
for (j = 0; j < 20; j++) {
printf(" %d ", m[i][j]);
}
printf("\n");
}
return 0;
}
CurtirCurtir
#include
#define tami 10
#define tamj 20
int main()
{
int M[tami][tamj], I, J, soma[tami] = {0};
printf(“Informe valores para a matriz:\n”);
for(I=0;I<tami;I++){
for(J=0;J<tamj;J++){
scanf("%d", &M[I][J]);
}
}
for(I=0;I<tami;I++){
for(J=0;J<tamj;J++){
soma[I] = soma[I] + M[I][J];
}
}
printf("\nMatriz original:\n");
for(I=0;I<tami;I++){
for(J=0;J<tamj;J++){
printf("[%d]", M[I][J]);
}printf("\n");
}
printf("\nMatriz multiplicada pela soma de cada coluna:\n");
for(I=0;I<tami;I++){
for(J=0;J<tamj;J++){
printf("[%d]", M[I][J]*soma[I]);
}printf("\n");
}
return 0;
}
CurtirCurtir
#include
#define tamanho 2
int main()
{
int Ma[tamanho][tamanho], I, J, maior=0;
printf(“Informe os valores da matriz:\n”);
for(I=0;I<tamanho;I++){
for(J=0;Jmaior){
maior = Ma[I][J];
}
}
}
printf(“\nMatriz informada:\n”);
for(I=0;I<tamanho;I++){
for(J=0;J<tamanho;J++){
printf("[%d]", Ma[I][J]);
}printf("\n");
}
printf("\nMatriz multiplicada pelo maior numero informado:\n");
for(I=0;I<tamanho;I++){
for(J=0;J<tamanho;J++){
printf("[%d]",Ma[I][J]*maior);
}printf("\n");
}
return-1;
}
CurtirCurtir