Você está na página 1de 20

BACHARELADO EM ENGENHARIA AMBIENTAL

Introdução a Ciência da Computação II

Trabalho Prático 3 - Lista de Exercícios 3


Linguagem C: Matrizes

Alunos: Isabele Canesin Longo


Ivan Souza Isael De Barros
Vitória Akiyama de Oliveira

1) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


inteiros de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, encontre e exiba o MAIOR dos números
inseridos e sua posição na Matriz.
#include <stdio.h>
#include <locale.h>

int main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j, maior, posI, posJ;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];

printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i,
j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

maior = -999999;

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
if(matriz[i][j] > maior){
maior = matriz[i][j];
posI = i;
posJ = j;
}
}
}

printf("\n\nMaior = %d\nPosição [%d][%d]", maior, posI, posJ);

2) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


inteiros de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, encontre e exiba o MENOR dos números
inseridos e sua posição na Matriz.
#include <stdio.h>
#include <locale.h>

int main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j, menor, posI, posJ;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];
printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i,
j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

menor = 999999;
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
if(matriz[i][j]< menor){
menor = matriz[i][j];
posI = i;
posJ = j;
}
}
}

printf("\n\nmenor = %d\nPosição [%d][%d]", menor, posI, posJ);

return 0;
}

3) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


inteiros de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, encontre e exiba o MAIOR e MENOR dos
números inseridos e suas respectivas posição na Matriz.
#include <stdio.h>
#include <locale.h>

int main(){
setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j, menor, maior, posI, posJ,posII,posJJ;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];

printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i,
j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

menor = 999999;

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
if(matriz[i][j]< menor){
menor = matriz[i][j];
posI = i;
posJ = j;
}
}
}
maior=-99999;
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
if(matriz[i][j]> maior){
maior = matriz[i][j];
posII = i;
posJJ = j;
}
}
}

printf("\n\nMenor = %d\nPosição [%d][%d]", menor, posI, posJ);


printf("\n\nMaior = %d\nPosição [%d][%d]", maior, posII, posJJ);

4) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


reais de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, encontre e exiba a multiplicação e a soma de
todos os elementos da Matriz.
#include <stdio.h>
#include <locale.h>

void main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j, soma, mult;


printf("Digite a qtd de linhas da Matriz: ");
scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];

printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i,
j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

soma=0;
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
soma=matriz[i][j]+soma;
}
}
mult=1;
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
mult =matriz[i][j] * mult;
}
}
printf("Soma dos elementos é igual a %d",soma);
printf("\nA multiplicação dos elementos é igual a %d",mult);
}

5) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


inteiros de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, encontre e exiba todos os números impares
presentes na Matriz e sua respectiva quantidade.

#include <stdio.h>
#include <locale.h>

void main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j,cont,number;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];

printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i,
j);
scanf("%d", &matriz[i][j]);
}
}
printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

number;
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
number=matriz[i][j]% 2;
if(number!=0){
cont++;
printf ("\n%d",matriz[i][j]);
}
}
}

printf("\nA quantidade dos elementos impares é igual a %d",cont);


}

6) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


inteiros de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, encontre e exiba a soma dos elementos da
diagonal principal da Matriz. Observe um exemplo da diagonal principal
de uma matriz 3x3:

#include <stdio.h>
#include <locale.h>
void main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j,soma;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];

printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na
posição[%d,%d] da Matriz: ", i, j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

soma=0;
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){

if(i==j){
soma= soma+ matriz[i][j];

}
}
}

printf("\nA soma dos elementos na diagonal é igual


a %d",soma);
}

7) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


inteiros de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, encontre e exiba a soma dos elementos da
diagonal secundária. Observe um exemplo da diagonal secundária de
uma matriz 3x3:

#include <stdio.h>
#include <locale.h>

void main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j,soma;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];

printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i, j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}
soma=0;
for (i = coluna-1; i >=0; i--) {
soma= soma+ matriz[i][(coluna-1)-i];
}

printf("\nA soma dos elementos na diagonal é igual a %d",soma);


}

8) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


reais de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, multiplique essa Matriz por dois e exiba a Matriz
resultante dessa multiplicação.
#include <stdio.h>
#include <locale.h>

void main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j,cont,number;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];

printf("\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i, j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}
printf("Matriz multiplicada\n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){

matriz[i][j]=matriz[i][j]*2;
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

9) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


inteiros, maiores que zero, de dimensão n x m, que permita o usuário
inserir a quantidade de linhas (n) e a quantidade de colunas (m) da
Matriz, além de cada um de seus elementos, por fim, realize a operação
de divisão dessa Matriz por um número inteiro inserido pelo usuário.
Exiba a Matriz resultante dessa divisão.
#include <stdio.h>
#include <locale.h>

void main(){

setlocale(LC_ALL, "Portuguese");
int linha, coluna, i, j;
float brunolindo;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

float matriz[linha][coluna];

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i,
j);
scanf("%f", &matriz[i][j]);
}
}

printf("Digite a constante que irá dividir os elementos da


Matriz:\n");
scanf("%f",&brunolindo);

printf("\nMATRIZ = \n");

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
matriz[j][i]=matriz[i][j]/brunolindo;
}

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%f, ", matriz[i][j]);
}
printf("\n");
}

10) Faça um algoritmo, em linguagem C, que crie uma Matriz de números


reais de dimensão n x m, que permita o usuário inserir a quantidade de
linhas (n) e a quantidade de colunas (m) da Matriz, além de cada um de
seus elementos, por fim, obtenha e exiba a TRANSPOSTA dessa Matriz.

#include <stdio.h>
#include <locale.h>

void main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j;

printf("Digite a qtd de linhas da Matriz: ");


scanf("%d", &linha);

printf("\nDigite a qtd de linhas da Matriz: ");


scanf("%d", &coluna);

int matriz[linha][coluna];
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da Matriz: ", i,
j);
scanf("%d", &matriz[i][j]);
}
}

printf("\nMATRIZ = \n");
int matrizT[coluna][linha];

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
matrizT[j][i]=matriz[i][j];
}

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("%d, ", matriz[i][j]);
}
printf("\n");
}

printf("\nMATRIZ TRANSPOSTA= \n");


for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
printf("%d, ", matrizT[i][j]);
}
printf("\n");
}

11) Faça um algoritmo, em linguagem C, que crie duas Matrizes quadradas


de números inteiros de mesma dimensão n x n, que permita o usuário
inserir a quantidade de linhas e colunas (n) das Matrizes, além de cada
um de seus elementos, por fim, obtenha e mostre a Matriz resultante da
soma das duas Matrizes criadas pelo usuário.
3

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main(){
setlocale(LC_ALL, "portuguese");

int i, j, linha, coluna;

printf("Insira a quantidade de linhas da matriz A:");


scanf("%d", &linha);

printf("Insira a quantidade de colunas igual a de linha:");


j=2;
for(i=1;i<j;i++){
scanf("%d", &coluna);
if (coluna!=linha){
printf("Valor invalido, insira o mesmo numero de linha e
colunas\n");
i--;}}

int matrizA[linha][coluna];

for(int i = 0; i < linha; i++){


for(int j = 0; j < coluna; j++){
printf("\nA[%d, %d]A = ", i, j);
scanf("%d", &matrizA[i][j]);
}
}
printf("\n");

int matrizB [linha][coluna];


for(int i = 0; i < linha; i++){
for(int j = 0; j < coluna; j++){
printf("\n\nA[%d, %d]B= ", i, j);
scanf("%d", &matrizB[i][j]);
}
}

printf("\nA matrizA é: \n");


for(int i = 0; i < linha; i++){
printf("| ");
for(int j = 0; j < coluna; j++){
printf("%d |", matrizA[i][j]);
}
}

printf("\nA matrizB é: \n");


for(int i = 0; i < linha; i++){
printf("| ");
for(int j = 0; j < coluna; j++){
printf("%d |", matrizB[i][j]);
}
}

int matrizSoma[linha][coluna];
for(int i = 0; i < linha; i++){
for(int j = 0; j < coluna; j++){
matrizSoma[i][j] = matrizA[i][j] + matrizB[i][j];
}
}

printf("\nA matriz soma é: \n");


for(int i = 0; i < linha; i++){
printf("|");
for(int j = 0; j < coluna; j++){
printf("%d |", matrizSoma[i][j]);
}
}
return(0);
}

12) Faça um algoritmo, em linguagem C, que crie uma Matriz quadrada de


números reais de dimensão n x n, que permita o usuário inserir a
quantidade de linhas e colunas (n) da Matriz, além de cada um de seus
elementos, por fim, encontre e exiba a soma de cada uma das linhas e
de cada uma das colunas dessa Matriz.
#include <stdio.h>
#include <locale.h>

void main(){

setlocale(LC_ALL, "Portuguese");

int linha, coluna, i, j,n,m, soma,somac;

printf("Indique a ordem da matriz quadrada:");


j=2;
for(i=1;i<j;i++){
scanf("%d", &n);
m=n;
if(n<2){
printf("valor invalido\n");
i--;}}

linha=m;
coluna=m;

float matriz[linha][coluna];

int somaLinhas[linha];
int somaColunas [coluna];

for(i = 0; i < linha; i++){


for(j = 0; j < coluna; j++){
printf("Insira o elemento na posição[%d,%d] da
Matriz: ", i, j);
scanf("%f", &matriz[i][j]);
}

for(i = 0; i<linha; i++){


soma = 0;
for(j = 0; j < coluna; j++){
soma = soma + matriz[i][j];
}
somaLinhas[i] = soma;

for(j = 0; j < coluna; j ++){


somac=0;
for(i = 0; i < coluna; i++){
somac = somac + matriz[i][j];
}
somaColunas[j] = somac;
}

printf("\n\nVetor com a soma das linhas:\n");


for(i = 0; i < linha; i++){
printf("Linha %d: %d\n", i, somaLinhas[i]);
}

printf("\n\nVetor com a soma das colunas:\n");


for(j = 0; j < coluna; j++){
printf("Coluna %d: %d\n", j, somaColunas[j]);
}

return 0;
}

ENTREGAR NO GOOGLE CLASSROM (ATÉ O DIA 28/01)


Trabalho em Grupo de até 3 alunos! (O Grupo formado deverá ser
o mesmo em todos os trabalhos realizados até o final do semestre)
(Obs: Representa parte da nota dos trabalhos e a presença nas aulas
dos dias 17/12 e 07/01)
4

Você também pode gostar