-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvizinhos.cpp
More file actions
79 lines (59 loc) · 1.63 KB
/
Copy pathvizinhos.cpp
File metadata and controls
79 lines (59 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//Prova tópicos de Programação
//Thales Gomes Maurin
//11175712
//Engenharia mecatrônica EESC-USP
#include <iostream>
#include <cstdlib>
#include "vizinhos.h"
#define LEN 20
using namespace std;
vizinhos::vizinhos(int A [LEN][LEN])
{
float soma;
//vamos comecar com dois fors para ler a matriz A;
for (int i=0; i<LEN; i++)
{
for (int j=0; j<LEN; j++)
{
//para cada célula de A, a funcão soma os valores das celulas vizinhas;
//(já aplicando o peso da média ponderada);
//as condicionas são utilizadas para delimitar as bordas da matriz;
//dessa forma a funçao não usara valores fora da matriz A.
soma = 0;
if (i!=0)
{
if (j!=0)
{soma+= (0.1)*A[i-1][j-1];}
soma+= (0.15)*A[i-1][j];
if (j!=LEN-1)
{soma+= (0.1)*A[i-1][j+1];}
}
if (j!=0)
{soma+= (0.15)*A[i][j-1];}
if (j!=LEN-1)
{soma+= (0.15)*A[i][j+1];}
if (i!=LEN-1)
{
if (j!=0)
{soma+= (0.1)*A[i+1][j-1];}
soma+= (0.15)*A[i+1][j];
if (j!=LEN-1)
{soma+= (0.1)*A[i+1][j+1];}
}
//a média é atribuída a correspndente célula da matriz B
soma/=8;
B[i][j]=soma;
}
}
}
float vizinhos::get(int i, int j)
{
//essa função permite acessar os valores da celula [i][j] da matriz B.
return B[i][j];
}
//Para usar essa classe:
//crie um objeto da classe "vizinho"
//use uma matriz A[20][20] para isso
//para acessar o valor das células de B, use a função get
//a funcao get(i, j) retorna os valores de B[i][j]
//use laços for junto com afuncao get para acessar a matriz inteira