Converter um vetor em uma matriz multidimensional
Publicado por JIMJR (última atualização em 07/06/2011)
[ Hits: 11.821 ]
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; }
Multiplicação de matrizes com indireção múltipla
Nenhum coment�rio foi encontrado.
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Autologin: praticidade ou não?
Instalação do Onion OS no Miyoo Mini e Miyoo Mini Plus
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
paginação dos favoritos não funciona no vivaolinux[BU... (8)
Alguém pode me recomendar um editor de textos? [RESOLVIDO] (11)
Problemas com Go-Global AppController no Ubuntu 24.04.3 (2)
Jogos baixados na Central de Aplicativos mas que não abrem (2)