Converter um vetor em uma matriz multidimensional
Publicado por JIMJR (última atualização em 07/06/2011)
[ Hits: 11.788 ]
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; }
ponteirostrab.c - Trabalhando com ponteiros
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Problema ao atualizar archlinux nvidia (2)
O que você está ouvindo agora? [2] (186)