Converter um vetor em uma matriz multidimensional
Publicado por JIMJR (última atualização em 07/06/2011)
[ Hits: 12.014 ]
Este script pega um vetor e o transforma em uma matriz multidimensional de tamanho de dimensões iguais, em breve vou fazer outro com o tamanho variado.
Foi feito no dev/c++ for Windows, portanto, se quiser compilar no Linux terá que retirar a lib conio.h e substituí-la por ncurses.h ou simplesmente trocar o comando getch() por outro similar.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#define NUM 2
int main() {
int mat_tri[NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM][NUM];
int indx;
int vet_mil[NUM^16];
for(indx = 0; indx < pow(NUM,16); indx++) {
vet_mil[indx] = indx + 1;
printf("( %i , %i , %i , %i , %i , %i , %i , %i , %i , %i , %i , %i , %i , %i , %i , %i ) = %i \n",
(int)floor(indx/pow(NUM,15)),
(int)floor(indx/pow(NUM,14)) % NUM,
(int)floor(indx/pow(NUM,13)) % NUM,
(int)floor(indx/pow(NUM,12)) % NUM,
(int)floor(indx/pow(NUM,11)) % NUM,
(int)floor(indx/pow(NUM,10)) % NUM,
(int)floor(indx/pow(NUM,9)) % NUM,
(int)floor(indx/pow(NUM,8)) % NUM,
(int)floor(indx/pow(NUM,7)) % NUM,
(int)floor(indx/pow(NUM,6)) % NUM,
(int)floor(indx/pow(NUM,5)) % NUM,
(int)floor(indx/pow(NUM,4)) % NUM,
(int)floor(indx/pow(NUM,3)) % NUM,
(int)floor(indx/pow(NUM,2)) % NUM,
(int)floor(indx/pow(NUM,1)) % NUM,
indx % NUM,
vet_mil[indx]);
mat_tri[(int)floor(indx/pow(NUM,15)) ]
[(int)floor(indx/pow(NUM,14)) % NUM]
[(int)floor(indx/pow(NUM,13)) % NUM]
[(int)floor(indx/pow(NUM,12)) % NUM]
[(int)floor(indx/pow(NUM,11)) % NUM]
[(int)floor(indx/pow(NUM,10)) % NUM]
[(int)floor(indx/pow(NUM,9)) % NUM]
[(int)floor(indx/pow(NUM,8)) % NUM]
[(int)floor(indx/pow(NUM,7)) % NUM]
[(int)floor(indx/pow(NUM,6)) % NUM]
[(int)floor(indx/pow(NUM,5)) % NUM]
[(int)floor(indx/pow(NUM,4)) % NUM]
[(int)floor(indx/pow(NUM,3)) % NUM]
[(int)floor(indx/pow(NUM,2)) % NUM]
[(int)floor(indx/pow(NUM,1)) % NUM]
[indx % NUM] = vet_mil[indx];
}
getch();
return 0;
}
[C++] remover todos os multiplos de 3
Nenhum comentário foi encontrado.
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









