Converter um vetor em uma matriz multidimensional
Publicado por JIMJR (última atualização em 07/06/2011)
[ Hits: 11.980 ]
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;
}
Bhaskara - Cálculo de raízes de equações do segundo grau
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Habilitando clipboard manager no ambiente COSMIC
A compatibilidade do LibreOffice com o Microsoft Office
Colocando hotcorner no COSMIC para exibir "workspaces"
Status related established (3)
Problema com som no laptop (3)
Quais licenças open source têm valor jurídico? (5)
A fórmula da coca-cola foi decompilada e agora é opensource! (1)









