ces-10 introduÇÃo À computaÇÃo aulas práticas – 2014 capítulo vii variáveis indexadas...

of 22 /22
CES-10 INTRODUÇÃO À CES-10 INTRODUÇÃO À COMPUTAÇÃO COMPUTAÇÃO Aulas Práticas – 2014 Aulas Práticas – 2014 Capítulo VII Capítulo VII Variáveis Indexadas Variáveis Indexadas Numéricas Numéricas

Upload: internet

Post on 22-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

CES-10 INTRODUÇÃO CES-10 INTRODUÇÃO À COMPUTAÇÃOÀ COMPUTAÇÃO

Aulas Práticas – 2014Aulas Práticas – 2014

Capítulo VII Capítulo VII

Variáveis Indexadas Variáveis Indexadas NuméricasNuméricas

Page 2: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Programa 7.1: Vetor de 10 elementos nulosPrograma 7.1: Vetor de 10 elementos nulos

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int i, V[10] = {0};int i, V[10] = {0};

printf ("Vetor de 10 elementos nulos:\n\n");printf ("Vetor de 10 elementos nulos:\n\n");

system ("pause");system ("pause");

printf ("\n\n");printf ("\n\n");

for (i = 0; i <= 9; i++) for (i = 0; i <= 9; i++)

printf ("%4d", V[i]);printf ("%4d", V[i]);

printf ("\n\n"); system ("pause");printf ("\n\n"); system ("pause");

return 0;return 0;

}}

i varia de 0 a 9, escrevendo na mesma linha os valores de:

V[0], V[1], ... , V[9]

2

0 0 0 0

0 1 9

V

Copiar, salvar e executar

Page 3: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int i, n, V[10];int i, n, V[10];

printf ("Vetor de n elementos nulos:\n");printf ("Vetor de n elementos nulos:\n");

do {do {

printf ("\nDigite n (<= 10): ");printf ("\nDigite n (<= 10): ");

scanf ("%d", &n);scanf ("%d", &n);

} while (n < 1 || n > 10);} while (n < 1 || n > 10);

for (i = 0; i <= n-1; i++)for (i = 0; i <= n-1; i++)

V[i] = 0;V[i] = 0;

printf ("\n");printf ("\n");

for (i = 0; i <= n-1; i++) for (i = 0; i <= n-1; i++)

printf ("%4d", V[i]);printf ("%4d", V[i]);

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.2: Vetor de n elementos nulos

Copiar, salvar e executar

n-10 0 0

0 1 9

V

Page 4: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int i, n, V[10];int i, n, V[10];

printf ("Vetor de n elementos iguais a 5:\n");printf ("Vetor de n elementos iguais a 5:\n");

do {do {

printf ("\nDigite n (<= 10): ");printf ("\nDigite n (<= 10): ");

scanf ("%d", &n);scanf ("%d", &n);

} while (n < 1 || n > 10);} while (n < 1 || n > 10);

for (i = 0; i <= n-1; i++)for (i = 0; i <= n-1; i++)

V[i] = 5;V[i] = 5;

printf ("\n");printf ("\n");

for (i = 0; i <= n-1; i++) for (i = 0; i <= n-1; i++)

printf ("%4d", V[i]);printf ("%4d", V[i]);

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.3: Vetor de n elementos 5

Copiar, salvar e executar

n-15 5 5

0 1 9

V

Page 5: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int i, n, V[10];int i, n, V[10];

printf ("Leitura e escrita de vetor\n\n");printf ("Leitura e escrita de vetor\n\n");

do {do {

printf ("\nDigite o n.o de elementos (<= 10): ");printf ("\nDigite o n.o de elementos (<= 10): ");

scanf ("%d", &n);scanf ("%d", &n);

} while (n < 1 || n > 10); } while (n < 1 || n > 10);

printf ("\n\n");printf ("\n\n");

for (i = 0; i <= n-1; i++) {for (i = 0; i <= n-1; i++) {

printf ("Elemento %d: ", i);printf ("Elemento %d: ", i);

scanf ("%d", &V[i]);scanf ("%d", &V[i]);

}}

printf ("\n\nVetor V:\n\n");printf ("\n\nVetor V:\n\n");

for (i = 0; i <= n-1; i++) for (i = 0; i <= n-1; i++)

printf ("%6d", V[i]);printf ("%6d", V[i]);

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.4: Leitura e escrita de vetor

Copiar, salvar e executar

n-1

0 1 9

V

Page 6: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Programa 7.5: Matriz 10 x 10 nulaPrograma 7.5: Matriz 10 x 10 nula

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int A[10][10] = {0}, i, j;int A[10][10] = {0}, i, j;

printf ("Matriz 10x10 nula:\n\n");printf ("Matriz 10x10 nula:\n\n");

system ("pause");system ("pause");

printf ("\n\n");printf ("\n\n");

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

for (j = 0; j <= 9; j++)for (j = 0; j <= 9; j++)

printf ("%4d", A[i][j]);printf ("%4d", A[i][j]);

printf ("\n");printf ("\n");

}}

printf ("\n\n");printf ("\n\n");

system ("pause"); return 0;system ("pause"); return 0;

}}

Para i = 0

j varia de 0 a 9, escrevendo na mesma linha os valores de:

A[0][0], A[0][1], ... , A[0][9]

Depois o cursor do vídeo vai para a linha seguinte

Para i = 1

j varia de 0 a 9, escrevendo na mesma linha os valores de:

A[1][0], A[1][1], ... , A[1][9]

Depois o cursor do vídeo vai para a linha seguinte

Para i = 2

j varia de 0 a 9, escrevendo na mesma linha os valores de:

A[2][0], A[2][1], ... , A[2][9]

Depois o cursor do vídeo vai para a linha seguinte

E assim por diante, para i = 9

j varia de 0 a 9, escrevendo na mesma linha os valores de:

A[9][0], A[9][1], ... , A[9][9]

2

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 1 9

0

1

2

9

A

Copiar, salvar e executar

Page 7: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int A[10][10], i, j, m, n;int A[10][10], i, j, m, n;

printf ("Matriz m x n nula:\n");printf ("Matriz m x n nula:\n");

do {do {

printf ("\nDigite m e n (<= 10): ");printf ("\nDigite m e n (<= 10): ");

scanf ("%d%d", &m, &n);scanf ("%d%d", &m, &n);

} while (m < 1 || m > 10 || n < 1 || n > 10);} while (m < 1 || m > 10 || n < 1 || n > 10);

for (i = 0; i <= m-1; i++)for (i = 0; i <= m-1; i++)

for (j = 0; j <= n-1; j++)for (j = 0; j <= n-1; j++)

A[i][j] = 0;A[i][j] = 0;

printf ("\n\n");printf ("\n\n");

for (i = 0; i <= m-1; i++) {for (i = 0; i <= m-1; i++) {

for (j = 0; j <= n-1; j++)for (j = 0; j <= n-1; j++)

printf ("%4d", A[i][j]);printf ("%4d", A[i][j]);

printf ("\n");printf ("\n");

}}

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.6: Matriz m x n nula

Copiar, salvar e executar

n-10 0 0

0 0 0

0 0 0

0 1 9

0

1

m-1

9

A

Page 8: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int A[10][10], i, j, n;int A[10][10], i, j, n;

printf ("Matriz n x n diagonal:\n");printf ("Matriz n x n diagonal:\n");

do {do {

printf ("\nDigite n (<= 10): "); scanf ("%d", &n);printf ("\nDigite n (<= 10): "); scanf ("%d", &n);

} while (n < 1 || n > 10);} while (n < 1 || n > 10);

for (i = 0; i <= n-1; i++)for (i = 0; i <= n-1; i++)

for (j = 0; j <= n-1; j++)for (j = 0; j <= n-1; j++)

A[i][j] = 0;A[i][j] = 0;

for (i = 0; i <= n-1; i++) A[i][i] = 7;for (i = 0; i <= n-1; i++) A[i][i] = 7;

printf ("\n\n");printf ("\n\n");

for (i = 0; i <= n-1; i++) {for (i = 0; i <= n-1; i++) {

for (j = 0; j <= n-1; j++)for (j = 0; j <= n-1; j++)

printf ("%4d", A[i][j]);printf ("%4d", A[i][j]);

printf ("\n\n");printf ("\n\n");

}}

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.7: Matriz n x n diagonal

Copiar, salvar e executar

n-17 0 0

0 7 0

0 0 7

0 1 9

0

1

m-1

9

A

Page 9: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.1: Colocar o número 27 na Exercício 7.1: Colocar o número 27 na diagonal, na primeira e última linha e na diagonal, na primeira e última linha e na primeira e última coluna de uma matriz n primeira e última coluna de uma matriz n x nx n

Exemplo:Exemplo:

Matriz n x n moldura:

Digite n (<= 10): 7

27 27 27 27 27 27 27

27 27 0 0 0 0 27

27 0 27 0 0 0 27

27 0 0 27 0 0 27

27 0 0 0 27 0 27

27 0 0 0 0 27 27

27 27 27 27 27 27 27

Page 10: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.2: Colocar o número 82 da Exercício 7.2: Colocar o número 82 da diagonal principal para baixo, obtendo diagonal principal para baixo, obtendo uma matriz triangular inferioruma matriz triangular inferior

Exemplo:Exemplo:Matriz n x n triangular inferior:

Digite n (<= 10): 6

82 0 0 0 0 0

82 82 0 0 0 0

82 82 82 0 0 0

82 82 82 82 0 0

82 82 82 82 82 0

82 82 82 82 82 82

Page 11: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.3: Obter um triangulo de PascalExercício 7.3: Obter um triangulo de Pascal

Exemplos:Exemplos:Triangulo de Pascal:

Dimensao (<= 10): 7

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

Triangulo de Pascal:

Dimensao (<= 10): 8

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

Os elementos da 1ª coluna e da diagonal principal são iguais a 1

Os elementos abaixo da diagonal principal, exceto os da 1ª coluna, são dados por: A[i][j] = A[i-1][j-1] + A[i-1][j]

Os elementos acima da diagonal principal não são inicializados nem escritos

Page 12: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int A[10][10], m, n, i, j;int A[10][10], m, n, i, j;

printf ("Leitura e escrita de matriz\n\n");printf ("Leitura e escrita de matriz\n\n");

do {do {

printf ("\nDimensoes m e n (<= 10): ");printf ("\nDimensoes m e n (<= 10): ");

scanf ("%d%d", &m, &n);scanf ("%d%d", &m, &n);

} while (m < 1 || m > 10 || n < 1 || n > 10);} while (m < 1 || m > 10 || n < 1 || n > 10);

printf ("\n\n");printf ("\n\n");

for (i = 0; i <= m-1; i++) {for (i = 0; i <= m-1; i++) {

printf ("%d elementos da linha %d: ", n, i);printf ("%d elementos da linha %d: ", n, i);

for (j = 0; j <= n-1; j++) scanf ("%d", &A[i][j]);for (j = 0; j <= n-1; j++) scanf ("%d", &A[i][j]);

}}

printf ("\n\nMatriz A:\n\n");printf ("\n\nMatriz A:\n\n");

for (i = 0; i <= m-1; i++) {for (i = 0; i <= m-1; i++) {

for (j = 0; j <= n-1; j++) printf ("%6d", A[i][j]);for (j = 0; j <= n-1; j++) printf ("%6d", A[i][j]);

printf ("\n\n");printf ("\n\n");

}}

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.8: Leitura e escrita de matriz

Copiar, salvar e executar

Page 13: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

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

#include <stdlib.h>#include <stdlib.h>

int main () {int main () {

int A[10][10], m, n, i, j;int A[10][10], m, n, i, j;

FILE *FileIn;FILE *FileIn;

FileIn = fopen ("Matriz.txt", "r");FileIn = fopen ("Matriz.txt", "r");

printf ("Informacoes sobre matriz:");printf ("Informacoes sobre matriz:");

printf ("\n\n\tMatriz de entrada no arquivo Matriz.txt");printf ("\n\n\tMatriz de entrada no arquivo Matriz.txt");

fscanf (FileIn, "%d%d", &m, &n);fscanf (FileIn, "%d%d", &m, &n);

for (i = 0; i <= m-1; i++)for (i = 0; i <= m-1; i++)

for (j = 0; j <= n-1; j++)for (j = 0; j <= n-1; j++)

fscanf (FileIn, "%d", &A[i][j]);fscanf (FileIn, "%d", &A[i][j]);

printf (printf (""\n\nMatriz A:\n\n");\n\nMatriz A:\n\n");

for (i = 0; i <= m-1; i++) {for (i = 0; i <= m-1; i++) {

for (j = 0; j <= n-1; j++) for (j = 0; j <= n-1; j++)

printf ("%4d", A[i][j]);printf ("%4d", A[i][j]);

printf ("\n\n");printf ("\n\n");

}}

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.9: Leitura de matriz por arquivo

Copiar, salvar e executar

Criar arquivo “Matriz.txt” com:

3 423 65 -2 045 13 390 -549 -1 -23 7

Obs.: A entrada de dados não precisa ser amigável

Page 14: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

#include <stdio.h>#include <stdio.h>#include <stdlib.h>#include <stdlib.h>int main () {int main () {

int A[10][10], m, n, i, j;int A[10][10], m, n, i, j; FILE *FileIn, *FileOut;FILE *FileIn, *FileOut; FileIn = fopen ("Matriz.txt", "r");FileIn = fopen ("Matriz.txt", "r"); FileOut = fopen ("MatrizSaida.txt", "w");FileOut = fopen ("MatrizSaida.txt", "w");

printf ("Informacoes sobre matriz:");printf ("Informacoes sobre matriz:");printf ("\n\n\tMatriz de entrada no arquivo Matriz.txt");printf ("\n\n\tMatriz de entrada no arquivo Matriz.txt");printf ("\n\n\tMatriz de saida no arquivo MatrizSaida.txt");printf ("\n\n\tMatriz de saida no arquivo MatrizSaida.txt");

fscanf (FileIn, "%d%d", &m, &n);fscanf (FileIn, "%d%d", &m, &n);for (i = 0; i <= m-1; i++)for (i = 0; i <= m-1; i++)

for (j = 0; j <= n-1; j++)for (j = 0; j <= n-1; j++) fscanf (FileIn, "%d", &A[i][j]);fscanf (FileIn, "%d", &A[i][j]);

fprintf (FileOut, "Matriz A:\n\n");fprintf (FileOut, "Matriz A:\n\n");for (i = 0; i <= m-1; i++) {for (i = 0; i <= m-1; i++) {

for (j = 0; j <= n-1; j++)for (j = 0; j <= n-1; j++) fprintf (FileOut, "%4d", A[i][j]);fprintf (FileOut, "%4d", A[i][j]);

fprintf (FileOut, "\n\n");fprintf (FileOut, "\n\n");}}printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}}

Programa 7.10: Leitura e escrita de matriz por arquivo

Copiar, salvar e executar

Abrir e examinar o arquivo “MatrizSaida.txt”

Matriz A:

23 65 -2 0

45 13 390 -54

9 -1 -23 7

Page 15: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.4: Aumentar o Programa 7.10 Exercício 7.4: Aumentar o Programa 7.10 para mpara montar e escrever, no arquivo de ontar e escrever, no arquivo de saída, um vetor de números inteiros saída, um vetor de números inteiros contendo a quantidade de números contendo a quantidade de números maiores que zero de cada coluna da matriz maiores que zero de cada coluna da matriz AA

Exemplo: Exemplo: seja o seguinte conteúdo do arquivo seja o seguinte conteúdo do arquivo de entrada com uma matriz 5x6:de entrada com uma matriz 5x6:

5 65 6

-17 21 2 -8 -57 0-17 21 2 -8 -57 0

-1 64 -272 791 7 -4-1 64 -272 791 7 -4

-100 14 17 33 -10 320-100 14 17 33 -10 320

0 2 55 87 0 150 2 55 87 0 15

81 21 2 0 27 081 21 2 0 27 0

Page 16: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Saída para a matriz de entrada:Saída para a matriz de entrada:

Matriz A:Matriz A:

ElementosElementos

--------------------------------------------------------------------------------------------------------------

Linh 0: -17 21 2 -8 -57 0Linh 0: -17 21 2 -8 -57 0

Linh 1: -1 64 -272 791 7 -4Linh 1: -1 64 -272 791 7 -4

Linh 2: -100 14 17 33 -10 320Linh 2: -100 14 17 33 -10 320

Linh 3: 0 2 55 87 0 15Linh 3: 0 2 55 87 0 15

Linh 4: 81 21 2 0 27 0Linh 4: 81 21 2 0 27 0

--------------------------------------------------------------------------------------------------------------

> zero: 1 5 4 3 2 2> zero: 1 5 4 3 2 2

Page 17: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.5: Aumentar o programa do Exercício 7.5: Aumentar o programa do Exercício 7.4 para mExercício 7.4 para montar e escrever, no ontar e escrever, no arquivo de saída, um vetor de números arquivo de saída, um vetor de números reais contendo a média aritmética dos reais contendo a média aritmética dos quadrados dos elementos de cada linha da quadrados dos elementos de cada linha da matriz Amatriz A

Exemplo: Exemplo: Saída para a matriz de entrada:Saída para a matriz de entrada:

Matriz A:Matriz A:

Elementos | MedQuadElementos | MedQuad

--------------------------------------------------------|------------------------------------------------------------------|----------

Linh 0: -17 21 2 -8 -57 0 | 674.50Linh 0: -17 21 2 -8 -57 0 | 674.50

Linh 1: -1 64 -272 791 7 -4 | 117304.45Linh 1: -1 64 -272 791 7 -4 | 117304.45

Linh 2: -100 14 17 33 -10 320 | 19012.33Linh 2: -100 14 17 33 -10 320 | 19012.33

Linh 3: 0 2 55 87 0 15 | 1802.50Linh 3: 0 2 55 87 0 15 | 1802.50

Linh 4: 81 21 2 0 27 0 | 1215.67Linh 4: 81 21 2 0 27 0 | 1215.67

--------------------------------------------------------|------------------------------------------------------------------|----------

> zero: 1 5 4 3 2 2> zero: 1 5 4 3 2 2

Page 18: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.6: Aumentar o programa do Exercício 7.6: Aumentar o programa do Exercício 7.5 para mExercício 7.5 para montar e escrever, no ontar e escrever, no arquivo de saída, um vetor de números arquivo de saída, um vetor de números inteiros contendo o menor, em valores inteiros contendo o menor, em valores relativos, dos elementos de cada coluna da relativos, dos elementos de cada coluna da matriz Amatriz A

Exemplo: Exemplo: Saída para a matriz de entrada:Saída para a matriz de entrada:

Matriz A:Matriz A:

Elementos | MedQuadElementos | MedQuad

--------------------------------------------------------|------------------------------------------------------------------|----------

Linh 0: -17 21 2 -8 -57 0 | 674.50Linh 0: -17 21 2 -8 -57 0 | 674.50

Linh 1: -1 64 -272 791 7 -4 | 117304.45Linh 1: -1 64 -272 791 7 -4 | 117304.45

Linh 2: -100 14 17 33 -10 320 | 19012.33Linh 2: -100 14 17 33 -10 320 | 19012.33

Linh 3: 0 2 55 87 0 15 | 1802.50Linh 3: 0 2 55 87 0 15 | 1802.50

Linh 4: 81 21 2 0 27 0 | 1215.67Linh 4: 81 21 2 0 27 0 | 1215.67

--------------------------------------------------------|------------------------------------------------------------------|----------

> zero: 1 5 4 3 2 2> zero: 1 5 4 3 2 2

Menor : -100 2 -272 -8 -57 -4Menor : -100 2 -272 -8 -57 -4

Page 19: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.7: Aumentar o programa do Exercício 7.7: Aumentar o programa do Exercício 7.6 para mExercício 7.6 para montar e escrever, no ontar e escrever, no arquivo de saída, um vetor de números arquivo de saída, um vetor de números inteiros contendo a quantidade de inteiros contendo a quantidade de elementos ímpares de cada linha da matriz elementos ímpares de cada linha da matriz AA

Exemplo: Exemplo: Saída para a matriz de entrada:Saída para a matriz de entrada:

Matriz A:Matriz A:

Elementos | MedQuad | ImparesElementos | MedQuad | Impares

--------------------------------------------------------|-----------|----------------------------------------------------------------|-----------|--------

Linh 0: -17 21 2 -8 -57 0 | 674.50 | 3Linh 0: -17 21 2 -8 -57 0 | 674.50 | 3

Linh 1: -1 64 -272 791 7 -4 | 117304.45 | 3Linh 1: -1 64 -272 791 7 -4 | 117304.45 | 3

Linh 2: -100 14 17 33 -10 320 | 19012.33 | 2Linh 2: -100 14 17 33 -10 320 | 19012.33 | 2

Linh 3: 0 2 55 87 0 15 | 1802.50 | 3Linh 3: 0 2 55 87 0 15 | 1802.50 | 3

Linh 4: 81 21 2 0 27 0 | 1215.67 | 3Linh 4: 81 21 2 0 27 0 | 1215.67 | 3

--------------------------------------------------------|-----------|----------------------------------------------------------------|-----------|--------

> zero: 1 5 4 3 2 2> zero: 1 5 4 3 2 2

Menor : -100 2 -272 -8 -57 -4Menor : -100 2 -272 -8 -57 -4

Page 20: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exercício 7.8: AumentarExercício 7.8: Aumentar o programa do o programa do Exercício 7.7 para montar e escrever , no Exercício 7.7 para montar e escrever , no arquivo de saída, outra matriz B(m x n) de arquivo de saída, outra matriz B(m x n) de inteiros e de dimensões iguais às da inteiros e de dimensões iguais às da matriz A(m x n), tal que:matriz A(m x n), tal que:

Cada elemento Cada elemento B[i][j]B[i][j] ( (0 0 i < m i < m e e 0 0 j < n j < n) ) deva ser a soma dos elementos das duas deva ser a soma dos elementos das duas diagonais da matriz diagonais da matriz AA que contêm o elemento que contêm o elemento A[i][j]A[i][j]

Nessa soma, o elemento Nessa soma, o elemento A[i][j]A[i][j] deve ser deve ser contado apenas uma vez.contado apenas uma vez.

Ver o exemplo a seguir.Ver o exemplo a seguir.

Page 21: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exemplo: Exemplo: seja a seguinte matriz seja a seguinte matriz A(5x6)A(5x6) de de entrada:entrada:

-17 21 2 -8 -57 0-17 21 2 -8 -57 0

-1 64 -272 791 7 -4-1 64 -272 791 7 -4

-100 14 17 33 -10 320-100 14 17 33 -10 320

0 2 55 87 0 150 2 55 87 0 15

81 21 2 0 27 081 21 2 0 27 0

Seja o elemento Seja o elemento A[2][3]A[2][3]

Sejam os elementos das duas diagonais que Sejam os elementos das duas diagonais que passam por elepassam por ele

Page 22: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Exemplo: Exemplo: seja a seguinte matriz seja a seguinte matriz A(5x6)A(5x6) de de entrada:entrada:

-17 21 2 -8 -57 0-17 21 2 -8 -57 0

-1 64 -272 791 7 -4-1 64 -272 791 7 -4

-100 14 17 33 -10 320-100 14 17 33 -10 320

0 2 55 87 0 150 2 55 87 0 15

81 21 2 0 27 081 21 2 0 27 0

B[2][3] = 21 + 0 - 272 + 7 + 33 + 55 + 0 + 21 B[2][3] = 21 + 0 - 272 + 7 + 33 + 55 + 0 + 21 + 0 = -135+ 0 = -135

Deve-se fazer este cálculo para todos os elementos Deve-se fazer este cálculo para todos os elementos de de BB