Matrizes em C e C++
Publicado por Rafael 12/03/2007
[ Hits: 12.416 ]
Homepage: nenhum
Apenas um exemplo de como declarar uma matriz em C e C++.
Ao menos quando eu fui atrás disso pela primeira vez não foi fácil de achar :-)
#include <iostream.h>
struct ponto{
float x;
float y;
};
int main(int argc, char * argv)
{
// Matriz em C++
ponto ***matriz= new ponto**[10];
for (int a=0;a<10;a++){
ponto **linha = new ponto*[10];
for (int b=0;b<10;b++){
ponto* pim = new ponto;
(*pim).x = a;
(*pim).y = b;
linha[b]=pim;
}
matriz[a] = linha;
}
// Matriz em C
ponto ***matrizc = (ponto***) malloc(10*sizeof(ponto**));
for (int a=0;a<10;a++){
ponto **linhac = (ponto**) malloc(10*sizeof(ponto*));
for (int b=0;b<10;b++){
ponto* pim = (ponto*) malloc(sizeof(ponto*));
(*pim).x = a;
(*pim).y = b;
linhac[b]=pim;
}
matrizc[a] = linhac;
}
// O acesso a ambas as matriz é feita da mesma maneira :-]
cout<<"Matriz em C++"<<endl;
for (int a=0;a<10;a++)
for (int b=0;b<10;b++){
cout<<"i:"<<matriz[a][b]->x<<"j:"<<matriz[a][b]->y<<endl;
}
cout<<"Matriz em C"<<endl;
for (int a=0;a<10;a++)
for (int b=0;b<10;b++){
cout<<"i:"<<matrizc[a][b]->x<<"j:"<<matrizc[a][b]->y<<endl;
}
// Liberando a memória em C
free (matrizc);
// Liberando a memória em C++
delete [] matriz;
// Nunca confunda, use free sempre com malloc(C) e delete com new(C++)
return 0;
}
Manipulando argumentos com getopt_long
Teste de desempenho com números primos em C
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









