Converter um vetor em uma matriz multidimensional
Publicado por JIMJR (última atualização em 07/06/2011)
[ Hits: 11.602 ]
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; }
Função switch q armazena sequencias
EXPRESSÕES ARITMÉTICAS - PARTE 2
Utilizando arrays, funções e arquivos de texto
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta