VetoresMatrizes.pdf

Algoritmos e Programação – Parte 02
Vetores e Matrizes
2
Algoritmos e Programação
Vetores
o Estrutura de Dados Homogênea e Estática
o Unidimensional
o Exemplo :
• Prédio com um apartamento por andar
• Conjunto habitacional com apenas uma rua
o Todos os elementos pertencentes ao mesmo tipo de
dado;
3
Algoritmos e Programação
Vetores
o Índices (iniciam em “0”, até “n”);
o Índices utilizados para Recuperar/Inserir valores.
o Forma geral para se declarar um vetor:
o tipo_da_variável nome_da_variável [tamanho];
Índice à 0 1 2 3 4 5 6 7 8 9 n
10 20 30 40 50 60 70 80 90 99
4
Algoritmos e Programação
Vetores
n Exemplo:
o float teste [10].
0 1 2 3 4 5 6 7 8 9
teste
Todos os valores são do tipo float
n Em C a numeração dos índices começa sempre em zero.
Isto significa que, no exemplo acima, os dados serão
indexados de 0 a 9. Para acessá-los vamos escrever:
teste [0]..... teste [9]
5
Algoritmos e Programação
Vetores
n Mas ninguém o impede (programador) de escrever:
o teste[30]
o teste[103]
o teste[-2]
n O C não verifica se o índice que você usou está dentro
dos limites válidos. Este é um cuidado que você deve
tomar.
n Se o programador não tiver atenção com os limites de
validade para os índices ele corre o risco de ter
variáveis sobrescritas ou de ver o computador travar.
Inúmeros bugs podem surgir.
6
Algoritmos e Programação
Vetores
n Exercício 1:
Construa um programa que declare um vetor de inteiros com 10
elementos e o inicialize com números fornecidos pelo usuário,
através da entrada padrão.
#include <stdio.h>
main()
{
int vetor[10], indice;
for (indice=0; indice<10; indice++)
{
printf("nVetor[%d]: ",indice);
scanf("%d",&vetor[indice]);
}
}
7
Algoritmos e Programação
n Exercício 2:
Construa um programa que declare e receba um vetor de inteiros com
10 elementos com números fornecidos pelo usuário, através da
entrada padrão e depois exiba os índices e seus valores armazenados.
#include <stdio.h>
int main () {
int vetorInteiros[10];
for(int x=0; x<10; x++){
printf("digite um Inteiro: n");
scanf("%d",&vetorInteiros[x]);
if(x==9){
printf("-- Valores Digitados -- n");
for(int y=0; y<10; y++){
printf("Indice: %d -> Valor: %d n", y, vetorInteiros[y]); } } }
getchar();
return(0); }
8
Algoritmos e Programação
Vetores
n Um vetor pode ser inicializado na declaração,
exemplo:
n int vetor[10]={0,1,2,3,4,5,6,7,8,9};
n E ainda pode-se deixar em aberto o número de
elementos, que será preenchido pelo números de
elementos na inicialização, que ocorre no
momento da declaração. Ou seja:
n int vetor[]={0,1,2,3,4,5,6,7,8,9};
n E não:
n int vetor[];
9
Algoritmos e Programação
Vetores
n Valores das posições podem ser modificados no
programa: #include <stdio.h>
int main() {
int sal[]={0,1,2,3,4};
sal[0]=100;
sal[1]=300;
sal[3]=900;
printf ("%dn",sal[0]);
printf ("%dn",sal[1]);
printf ("%dn",sal[2]);
printf ("%dn",sal[3]);
printf ("%dn",sal[4]);
getchar();
return (0); }
10
Algoritmos e Programação
Matrizes
n Vetores Multidimensionais
n Estrutura de Dados Homogênea
n Bidimensional
n Exemplo :
n Prédio com mais de um apartamento por andar
n Conjunto habitacional com várias ruas
11
Algoritmos e Programação
Matrizes
n Declarando uma matriz
tipo_da_variável nome_da_variável [d1][d2]...[dn];
n Exemplo:
n Declarar uma estrutura com o nome de salario,
com dez elementos inteiros dispostos numa matriz
com cinco linhas e duas colunas.
int salario[5][2];
12
Algoritmos e Programação
Matrizes
n Exemplo:
#include <stdio.h>
main(){
int sal[5][2],x,y;
sal[0][0]=100;
sal[0][1]=690;
sal[1][0]=900;
sal[1][1]=250;
sal[2][0]=200;
sal[2][1]=180;
sal[3][0]=300;
sal[3][1]=60;
sal[4][0]=500;
sal[4][1]=30;
for(x=0;x<5;x++){
for(int y=0;y<2;y++){
printf ("%dn", sal[x][y]);}}
getchar();
return(0);
}
13
Algoritmos e Programação
n Exemplo: O programa abaixo cria e exibe uma matriz com
dimensões e valores definidas pelo usuário .
#include <stdio.h>
int main()
{
// definição do tamanho da matriz
int nl, nc;
printf ("nEntre com o numero de linhas da matriz = ");
scanf ("%d",&nl);
printf ("nEntre com o numero de colunas da matriz = ");
scanf ("%d",&nc);
// entrada de dados da matriz
int matriz[nl][nc], i, j;
for (i=0;i<nl;i++)
for (j=0;j<nc;j++)
{
printf ("nEntre com o elemento[%d][%d]=",i+1,j+1);
scanf ("%d",&matriz[i][j]); }
14
Algoritmos e Programação
n Continuação Exemplo:
// impressão da matriz na tela
for (i=0;i<nl;i++) {
printf("n |"); // barra vertical
for (j=0;j<nc;j++)
printf (" %d ",matriz[i][j]);
printf("|");
}
getchar();
return (0);
}
15
Algoritmos e Programação
Matrizes
n Assim como os vetores unidimensionais os vetores
multidimensionais também podem ser inicializados na
declaração.
n Exemplo:
float matriz [3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int matriz [ ][2]={1,2,3,4,5,6,7,8,9,10,11,12};
n Não use:
float matriz [ ][ ]={1,2,3,4,5,6,7,8,9,10,11,12};
O Exemplo a seguir usa exemplo de matriz dimensionada e
não-dimensionada.
16
Algoritmos e Programação
Matrizes
#include<stdio.h>
int main() {
int mat1[2][2]={4,5,-2,1};
int mat2[][2]={4,5,-2,1};
/*Matriz não-dimensionada*/
int x,y;
printf("Imprimindo a matriz mat1
cujo o tamanho foi especificado:n");
for(x=0;x<2;x++) {
for(y=0;y<2;y++) {
printf("mat1[%d][%d]=%d",x+1,y
+1,mat1[x][y]);
printf("n"); } /*fim do for*/ } /*fim do
for*/
printf("n");
printf("Imprimindo a matriz
mat2 cujo o tamanho nao
foi especificado:n");
for(x=0;x<2;x++) {
for(y=0;y<2;y++) {
printf("mat2[%d][%d]=
%d",x+1,y+1,mat2[x][y]);
printf("n");
} /*fim do for*/
} /*fim do for*/
getchar();
return(0);} /*fim do programa*/
17
Algoritmos e Programação
Matrizes
18
Algoritmos e Programação
Matrizes
n Exercício 01 - Faça um programa que exibe o conteúdo de
um vetor tamanho 10 de forma invertida.
n Exercício 02 - Faça um programa que leia um vetor de 10
posições e crie um segundo vetor substituindo os valores
negativos por 1.
n Exercício 03 - Faça um programa que leia uma matriz mat
3 x 4 de inteiros, substitua seus elementos negativos por 0
e imprima a matriz mat original e a modificada.
19
Algoritmos e Programação
n Exercício 01 - Faça um programa que exibe o conteúdo de
um vetor tamanho 10 de forma invertida.
#include <stdio.h>
#include <conio.h>
int main () {
int vet1[10];
for (int x=0; x<10;x++)
{
printf ("Indice: %d - Digite um inteiro:", x);
scanf ("%d", &vet1[x]);
if (x==9){
printf("n n -- Valores digitados --n n Vetor 2(Invertido)n n");
for (int y=9; y>=0; y--){
printf ("Indice: %d - Valor %d n", y, vet1[y]);
}
}
}
getch();
return(0);
}
20
Algoritmos e Programação
n Exercício 02 - Faça um programa que leia um vetor de 10 posições
e crie um segundo vetor substituindo os valores negativos por 1.
#include <stdio.h>
#include <conio.h>
int main () {
int vet[10];
int i=0;
do {
printf ("Digite o valor %d do vetor: ", i);
scanf ("%d", &vet[i]);
i++; }
while (i<=9);
printf ("n");
for (i=0; i<10; i++){
if (vet[i]<0)
vet[i]=1;
printf(" %d ", vet[i]);
}
getch();
return(0);
}
21
Algoritmos e Programação
n Exercício 03 - Faça um programa que leia uma matriz mat 3 x 4 de inteiros,
substitua seus elementos negativos por 0 e imprima a matriz mat original e
a modificada.
#include <stdio.h>
#include <conio.h>
main() {
int matriz[3][4], i, j;
for (i=0;i<3;i++) {
for (j=0;j<4;j++) {
printf ("nEntre com o elemento[%d][%d]=",i+1,j+1);
scanf ("%d",&matriz[i][j]); } }
printf ("n Matriz Principal n");
for (i=0;i<3;i++) {
for (j=0;j<4;j++) {
printf ("n Valor: %d",matriz[i][j]); }}
printf ("n n Matriz Modificada n");
for (i=0;i<3;i++) {
if (matriz [i][j]<0) {
matriz[i][j]=0;}
printf ("n Valor: %d",matriz[i][j]); }
}
getch();
return (0);
}
1 de 21

Recomendados

Lista c por
Lista cLista c
Lista cBruno Cesar Moreira Dutra
489 visualizações13 slides
mod4-estruturas-dadosestaticas-ordenacao por
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
753 visualizações38 slides
Modulo02 por
Modulo02Modulo02
Modulo02Lisandro Michel
599 visualizações14 slides
Exemplos registros e funções por
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funçõesCarla Lee
1.2K visualizações7 slides
Manual PSInf - Modulo 5 por
Manual PSInf - Modulo 5Manual PSInf - Modulo 5
Manual PSInf - Modulo 5Mariana Hiyori
6 visualizações38 slides
14 algoritmos de classificacao de tabelas por
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelasRicardo Bolanho
585 visualizações19 slides

Mais conteúdo relacionado

Similar a VetoresMatrizes.pdf

Linguagem C - Vetores, Matrizes e Funções por
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesElaine Cecília Gatto
19.5K visualizações28 slides
Minicurso Matlab IVSEE 2013 UERJ por
Minicurso Matlab IVSEE 2013 UERJMinicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJRenan Prata
4.8K visualizações206 slides
0001 por
00010001
0001Ademar Trindade
55 visualizações40 slides
000003 complexidade por
000003 complexidade000003 complexidade
000003 complexidadeAdemar Trindade
77 visualizações40 slides
Linguagem c wellington telles - aula 05 por
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05profwtelles
25 visualizações2 slides
Função malloc por
Função mallocFunção malloc
Função mallocAgrupamento de Escolas da Batalha
2.8K visualizações17 slides

Similar a VetoresMatrizes.pdf(20)

Linguagem C - Vetores, Matrizes e Funções por Elaine Cecília Gatto
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
Elaine Cecília Gatto19.5K visualizações
Minicurso Matlab IVSEE 2013 UERJ por Renan Prata
Minicurso Matlab IVSEE 2013 UERJMinicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJ
Renan Prata4.8K visualizações
000003 complexidade por Ademar Trindade
000003 complexidade000003 complexidade
000003 complexidade
Ademar Trindade77 visualizações
Linguagem c wellington telles - aula 05 por profwtelles
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05
profwtelles25 visualizações
5 expressoes logicas - operadores - base binaria - operadores de bits por Ricardo Bolanho
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
Ricardo Bolanho514 visualizações
Linguagem C 01 Primeiros Passos por Regis Magalhães
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros Passos
Regis Magalhães8.7K visualizações
Apostila comando num rico computadorizado - (senai-sp) por pedrolaro
Apostila   comando num rico computadorizado - (senai-sp)Apostila   comando num rico computadorizado - (senai-sp)
Apostila comando num rico computadorizado - (senai-sp)
pedrolaro155 visualizações
Apostila estrutura de dados 2 por Leandro Lopes
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
Leandro Lopes2.3K visualizações
Estrutura de dados por gjpbg
Estrutura de dadosEstrutura de dados
Estrutura de dados
gjpbg593 visualizações
Aula 8 - Vetores e Matrizes.pptx por Osvano Silva
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
Osvano Silva2 visualizações
Apostilatcncfanuc21i por Lucas Lira
Apostilatcncfanuc21i Apostilatcncfanuc21i
Apostilatcncfanuc21i
Lucas Lira1.9K visualizações
Linguagem R por Anderson Sanches
Linguagem RLinguagem R
Linguagem R
Anderson Sanches21.5K visualizações
exercicios-com-vetores---respostas.pdf por TomasEdson2
exercicios-com-vetores---respostas.pdfexercicios-com-vetores---respostas.pdf
exercicios-com-vetores---respostas.pdf
TomasEdson25 visualizações
Algoritmos-SlidesA1_2016_03_01.ppt por RobertoPereiradePaiv
Algoritmos-SlidesA1_2016_03_01.pptAlgoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.ppt
RobertoPereiradePaiv4 visualizações
Algoritmos e Programação: Matrizes por Alex Camargo
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
Alex Camargo2.3K visualizações
Calculo numérico por Diego Paniago
Calculo numéricoCalculo numérico
Calculo numérico
Diego Paniago2.3K visualizações
Computadores modernos compensam algoritmos ineficientes? por Artur Barreto
Computadores modernos compensam algoritmos ineficientes?Computadores modernos compensam algoritmos ineficientes?
Computadores modernos compensam algoritmos ineficientes?
Artur Barreto488 visualizações
Algoritmos em c #1 por Stark2009
Algoritmos em c #1Algoritmos em c #1
Algoritmos em c #1
Stark2009380 visualizações

Último

ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023 por
ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023
ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023AcademiaDlassessoria
8 visualizações3 slides
Key Account Management - JBP no Canal Farma (CERTIFICADO).pdf por
Key Account Management - JBP no Canal Farma (CERTIFICADO).pdfKey Account Management - JBP no Canal Farma (CERTIFICADO).pdf
Key Account Management - JBP no Canal Farma (CERTIFICADO).pdfLucasBerrettini
5 visualizações1 slide
O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ... por
O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ...O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ...
O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ...dlalicia08
21 visualizações4 slides
APRESENTAÇÃO PADRÃO.pdf por
APRESENTAÇÃO PADRÃO.pdfAPRESENTAÇÃO PADRÃO.pdf
APRESENTAÇÃO PADRÃO.pdfDenise Varela
10 visualizações10 slides
Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ... por
Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ...Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ...
Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ...dlalicia08
6 visualizações2 slides
020087000101011 (13).pdf por
020087000101011 (13).pdf020087000101011 (13).pdf
020087000101011 (13).pdfRenandantas16
565 visualizações2 slides

Último(8)

ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023 por AcademiaDlassessoria
ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023
ATIVIDADE 1 - PSICOLOGIA ORGANIZACIONAL - 54/2023
AcademiaDlassessoria8 visualizações
Key Account Management - JBP no Canal Farma (CERTIFICADO).pdf por LucasBerrettini
Key Account Management - JBP no Canal Farma (CERTIFICADO).pdfKey Account Management - JBP no Canal Farma (CERTIFICADO).pdf
Key Account Management - JBP no Canal Farma (CERTIFICADO).pdf
LucasBerrettini5 visualizações
O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ... por dlalicia08
O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ...O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ...
O que é um Almoxarifado Central? Como funciona um Almoxarifado Central? Qual ...
dlalicia0821 visualizações
APRESENTAÇÃO PADRÃO.pdf por Denise Varela
APRESENTAÇÃO PADRÃO.pdfAPRESENTAÇÃO PADRÃO.pdf
APRESENTAÇÃO PADRÃO.pdf
Denise Varela10 visualizações
Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ... por dlalicia08
Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ...Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ...
Entender e saber distinguir conceitos rotineiramente utilizados no cotidiano ...
dlalicia086 visualizações
020087000101011 (13).pdf por Renandantas16
020087000101011 (13).pdf020087000101011 (13).pdf
020087000101011 (13).pdf
Renandantas16565 visualizações
O Brasil possui uma diversidade de regiões produtoras de commodities. As regi... por dlalicia08
O Brasil possui uma diversidade de regiões produtoras de commodities. As regi...O Brasil possui uma diversidade de regiões produtoras de commodities. As regi...
O Brasil possui uma diversidade de regiões produtoras de commodities. As regi...
dlalicia088 visualizações

VetoresMatrizes.pdf

  • 1. Algoritmos e Programação – Parte 02 Vetores e Matrizes
  • 2. 2 Algoritmos e Programação Vetores o Estrutura de Dados Homogênea e Estática o Unidimensional o Exemplo : • Prédio com um apartamento por andar • Conjunto habitacional com apenas uma rua o Todos os elementos pertencentes ao mesmo tipo de dado;
  • 3. 3 Algoritmos e Programação Vetores o Índices (iniciam em “0”, até “n”); o Índices utilizados para Recuperar/Inserir valores. o Forma geral para se declarar um vetor: o tipo_da_variável nome_da_variável [tamanho]; Índice à 0 1 2 3 4 5 6 7 8 9 n 10 20 30 40 50 60 70 80 90 99
  • 4. 4 Algoritmos e Programação Vetores n Exemplo: o float teste [10]. 0 1 2 3 4 5 6 7 8 9 teste Todos os valores são do tipo float n Em C a numeração dos índices começa sempre em zero. Isto significa que, no exemplo acima, os dados serão indexados de 0 a 9. Para acessá-los vamos escrever: teste [0]..... teste [9]
  • 5. 5 Algoritmos e Programação Vetores n Mas ninguém o impede (programador) de escrever: o teste[30] o teste[103] o teste[-2] n O C não verifica se o índice que você usou está dentro dos limites válidos. Este é um cuidado que você deve tomar. n Se o programador não tiver atenção com os limites de validade para os índices ele corre o risco de ter variáveis sobrescritas ou de ver o computador travar. Inúmeros bugs podem surgir.
  • 6. 6 Algoritmos e Programação Vetores n Exercício 1: Construa um programa que declare um vetor de inteiros com 10 elementos e o inicialize com números fornecidos pelo usuário, através da entrada padrão. #include <stdio.h> main() { int vetor[10], indice; for (indice=0; indice<10; indice++) { printf("nVetor[%d]: ",indice); scanf("%d",&vetor[indice]); } }
  • 7. 7 Algoritmos e Programação n Exercício 2: Construa um programa que declare e receba um vetor de inteiros com 10 elementos com números fornecidos pelo usuário, através da entrada padrão e depois exiba os índices e seus valores armazenados. #include <stdio.h> int main () { int vetorInteiros[10]; for(int x=0; x<10; x++){ printf("digite um Inteiro: n"); scanf("%d",&vetorInteiros[x]); if(x==9){ printf("-- Valores Digitados -- n"); for(int y=0; y<10; y++){ printf("Indice: %d -> Valor: %d n", y, vetorInteiros[y]); } } } getchar(); return(0); }
  • 8. 8 Algoritmos e Programação Vetores n Um vetor pode ser inicializado na declaração, exemplo: n int vetor[10]={0,1,2,3,4,5,6,7,8,9}; n E ainda pode-se deixar em aberto o número de elementos, que será preenchido pelo números de elementos na inicialização, que ocorre no momento da declaração. Ou seja: n int vetor[]={0,1,2,3,4,5,6,7,8,9}; n E não: n int vetor[];
  • 9. 9 Algoritmos e Programação Vetores n Valores das posições podem ser modificados no programa: #include <stdio.h> int main() { int sal[]={0,1,2,3,4}; sal[0]=100; sal[1]=300; sal[3]=900; printf ("%dn",sal[0]); printf ("%dn",sal[1]); printf ("%dn",sal[2]); printf ("%dn",sal[3]); printf ("%dn",sal[4]); getchar(); return (0); }
  • 10. 10 Algoritmos e Programação Matrizes n Vetores Multidimensionais n Estrutura de Dados Homogênea n Bidimensional n Exemplo : n Prédio com mais de um apartamento por andar n Conjunto habitacional com várias ruas
  • 11. 11 Algoritmos e Programação Matrizes n Declarando uma matriz tipo_da_variável nome_da_variável [d1][d2]...[dn]; n Exemplo: n Declarar uma estrutura com o nome de salario, com dez elementos inteiros dispostos numa matriz com cinco linhas e duas colunas. int salario[5][2];
  • 12. 12 Algoritmos e Programação Matrizes n Exemplo: #include <stdio.h> main(){ int sal[5][2],x,y; sal[0][0]=100; sal[0][1]=690; sal[1][0]=900; sal[1][1]=250; sal[2][0]=200; sal[2][1]=180; sal[3][0]=300; sal[3][1]=60; sal[4][0]=500; sal[4][1]=30; for(x=0;x<5;x++){ for(int y=0;y<2;y++){ printf ("%dn", sal[x][y]);}} getchar(); return(0); }
  • 13. 13 Algoritmos e Programação n Exemplo: O programa abaixo cria e exibe uma matriz com dimensões e valores definidas pelo usuário . #include <stdio.h> int main() { // definição do tamanho da matriz int nl, nc; printf ("nEntre com o numero de linhas da matriz = "); scanf ("%d",&nl); printf ("nEntre com o numero de colunas da matriz = "); scanf ("%d",&nc); // entrada de dados da matriz int matriz[nl][nc], i, j; for (i=0;i<nl;i++) for (j=0;j<nc;j++) { printf ("nEntre com o elemento[%d][%d]=",i+1,j+1); scanf ("%d",&matriz[i][j]); }
  • 14. 14 Algoritmos e Programação n Continuação Exemplo: // impressão da matriz na tela for (i=0;i<nl;i++) { printf("n |"); // barra vertical for (j=0;j<nc;j++) printf (" %d ",matriz[i][j]); printf("|"); } getchar(); return (0); }
  • 15. 15 Algoritmos e Programação Matrizes n Assim como os vetores unidimensionais os vetores multidimensionais também podem ser inicializados na declaração. n Exemplo: float matriz [3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int matriz [ ][2]={1,2,3,4,5,6,7,8,9,10,11,12}; n Não use: float matriz [ ][ ]={1,2,3,4,5,6,7,8,9,10,11,12}; O Exemplo a seguir usa exemplo de matriz dimensionada e não-dimensionada.
  • 16. 16 Algoritmos e Programação Matrizes #include<stdio.h> int main() { int mat1[2][2]={4,5,-2,1}; int mat2[][2]={4,5,-2,1}; /*Matriz não-dimensionada*/ int x,y; printf("Imprimindo a matriz mat1 cujo o tamanho foi especificado:n"); for(x=0;x<2;x++) { for(y=0;y<2;y++) { printf("mat1[%d][%d]=%d",x+1,y +1,mat1[x][y]); printf("n"); } /*fim do for*/ } /*fim do for*/ printf("n"); printf("Imprimindo a matriz mat2 cujo o tamanho nao foi especificado:n"); for(x=0;x<2;x++) { for(y=0;y<2;y++) { printf("mat2[%d][%d]= %d",x+1,y+1,mat2[x][y]); printf("n"); } /*fim do for*/ } /*fim do for*/ getchar(); return(0);} /*fim do programa*/
  • 18. 18 Algoritmos e Programação Matrizes n Exercício 01 - Faça um programa que exibe o conteúdo de um vetor tamanho 10 de forma invertida. n Exercício 02 - Faça um programa que leia um vetor de 10 posições e crie um segundo vetor substituindo os valores negativos por 1. n Exercício 03 - Faça um programa que leia uma matriz mat 3 x 4 de inteiros, substitua seus elementos negativos por 0 e imprima a matriz mat original e a modificada.
  • 19. 19 Algoritmos e Programação n Exercício 01 - Faça um programa que exibe o conteúdo de um vetor tamanho 10 de forma invertida. #include <stdio.h> #include <conio.h> int main () { int vet1[10]; for (int x=0; x<10;x++) { printf ("Indice: %d - Digite um inteiro:", x); scanf ("%d", &vet1[x]); if (x==9){ printf("n n -- Valores digitados --n n Vetor 2(Invertido)n n"); for (int y=9; y>=0; y--){ printf ("Indice: %d - Valor %d n", y, vet1[y]); } } } getch(); return(0); }
  • 20. 20 Algoritmos e Programação n Exercício 02 - Faça um programa que leia um vetor de 10 posições e crie um segundo vetor substituindo os valores negativos por 1. #include <stdio.h> #include <conio.h> int main () { int vet[10]; int i=0; do { printf ("Digite o valor %d do vetor: ", i); scanf ("%d", &vet[i]); i++; } while (i<=9); printf ("n"); for (i=0; i<10; i++){ if (vet[i]<0) vet[i]=1; printf(" %d ", vet[i]); } getch(); return(0); }
  • 21. 21 Algoritmos e Programação n Exercício 03 - Faça um programa que leia uma matriz mat 3 x 4 de inteiros, substitua seus elementos negativos por 0 e imprima a matriz mat original e a modificada. #include <stdio.h> #include <conio.h> main() { int matriz[3][4], i, j; for (i=0;i<3;i++) { for (j=0;j<4;j++) { printf ("nEntre com o elemento[%d][%d]=",i+1,j+1); scanf ("%d",&matriz[i][j]); } } printf ("n Matriz Principal n"); for (i=0;i<3;i++) { for (j=0;j<4;j++) { printf ("n Valor: %d",matriz[i][j]); }} printf ("n n Matriz Modificada n"); for (i=0;i<3;i++) { if (matriz [i][j]<0) { matriz[i][j]=0;} printf ("n Valor: %d",matriz[i][j]); } } getch(); return (0); }