Beruflich Dokumente
Kultur Dokumente
PROYECTO N2
APLICACIÓN DE ARREGLOS
GRUPO: 1IL115
PROFESORA
PROF. Dra. ADDYS DE LAM
INTEGRANTES
GUAINORA ANA 8-947-2254
NAVARRETE NAZARETH 8-879-2126
SANCHEZ ERNESTO 9-743-681
FECHA
30 DE OCTUBRE DEL 2018
CONTENIDO
INTRODUCCIÓN .................................................................................................................. 3
1. Objetivos del trabajo ....................................................................................................... 4
2. Contenido ........................................................................................................................ 4
2.1. Definición de la problemática. ................................................................................. 4
2.1.1. Implementación de la técnica de multiplicación de la tabla del 9 con los dedos
de las manos. ................................................................................................................... 4
2.1.2. Conversión de decimal a binario. ..................................................................... 5
2.1.3. Conversión de binario a hexadecimal. .............................................................. 6
2.1.4. Conversión de binario a decimal ...................................................................... 6
3. Formatos .......................................................................................................................... 7
3.1. Datos de Entrada. ..................................................................................................... 7
3.2. Definición de Pantallas de entradas. ........................................................................ 9
3.2.1. Menú principal .................................................................................................. 9
3.2.2. Ingreso de los valores por el usuario ................................................................ 9
3.3. Diseño de Salida (pantalla). ................................................................................... 10
3.3.1. Resultado de la implementación de técnica de las manos en la multiplicación.
10
3.3.2. Resultado de la conversión de decimal a binario. .......................................... 10
3.3.3. Resultado de la conversión de binario a hexadecimal. ................................... 11
3.3.4. Resultado de la conversión de las diagonales de la matriz binaria a decimal. 11
4. Conclusiones ................................................................................................................. 12
5. Referencia...................................................................................................................... 12
6. Programa Fuente. .......................................................................................................... 13
INTRODUCCIÓN
Las estructuras de datos que hemos visto hasta permiten manipular datos de manera muy
flexible. Combinándolas y anidándolas, es posible organizar información de manera
estructurada para representar sistemas del mundo real.
Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un
nombre común. Un arreglo consta de posiciones de memoria contigua. La dirección más
baja corresponde al primer elemento y la más alta al último. Un arreglo puede tener una o
varias dimensiones. Para acceder a un elemento en particular de un arreglo se usa un índice.
Los arreglos (arrays) permiten almacenar vectores y matrices. Los arreglos
unidimensionales sirven para manejar vectores y los arreglos bidimensionales para
matrices. Sin embargo, las matrices también pueden ser almacenadas mediante arreglos
unidimensionales. La palabra unidimensional no indica que se trata de vectores en espacios
de dimensión uno; indica que su manejo se hace mediante un subíndice. El manejo de los
arreglos bidimensionales se hace mediante dos subíndices.
En muchas aplicaciones de Ingeniería, por otra parte, más importante que la organización
de los datos es la capacidad de hacer muchas operaciones a la vez sobre grandes conjuntos
de datos numéricos de manera eficiente. Algunos ejemplos de problemas que requieren
manipular grandes secuencias de números son: la predicción del clima, la construcción de
edificios, y el análisis de indicadores financieros entre muchos otros.
1. Objetivos del trabajo
Comprender el uso de los arreglos tanto unidimensional como multidimensional.
Implementar el uso de los arreglos para trabajar de manera más clara.
Reducir la cantidad de variables a utilizar mediante el uso de los arreglos.
Manipular la dirección de memoria que ocupa nuestro arreglo.
Identificar los datos que almacenan los arreglos.
Evitar la confusión de dirección de memoria del arreglo, en comparación a la
información que contienen los arreglos en sí.
2. Contenido
2.1. Definición de la problemática.
2.1.1. Implementación de la técnica de multiplicación de la tabla del 9 con los
dedos de las manos.
Por ejemplo:
Si el número binario es 10.
Paso 1 : El resto cuando 10 se divide por 2 es cero. Por lo tanto, arr [0] =
0.
Paso 2 : Divide 10 por 2. El nuevo número es 10/2 = 5.
Paso 3 : El resto cuando 5 se divide por 2 es 1. Por lo tanto, arr [1] = 1.
Paso 4 : Divide 5 por 2. El nuevo número es 5/2 = 2.
Paso 5 : El resto cuando 2 se divide por 2 es cero. Por lo tanto, arr [2] =
0.
Paso 6 : Divide 2 por 2. El nuevo número es 2/2 = 1.
Paso 7 : El resto cuando 1 se divide por 2 es 1. Por lo tanto, arr [3] = 1.
Paso 8 : Divide 1 por 2. El nuevo número es 1/2 = 0.
Paso 9 : Dado que el número se convierte en = 0. Imprima la matriz en
orden inverso. Por lo tanto, el número binario equivalente es 1010.
es decir,
3. Formatos
3.1. Datos de Entrada.
variables para almacenar las imágenes en una una matriz de tres dimensiones
manos[5][25][40].
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 0 0 0 6 6 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 6 6 0 0 0 1 1 1 1 1 1 1
1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1
1 1 1 0 0 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 0 0 1 1 1 1
1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1
1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1
1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1
1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1
1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1
1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1
1 1 0 6 6 6 6 6 6 6 6 6 6 6 0 1 0 0 0 1 0 0 0 1 0 6 6 0 6 6 0 6 6 0 6 6 0 1 1 1
1 1 0 6 6 6 6 6 6 6 6 6 6 6 0 0 6 6 0 1 0 6 6 0 0 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1
1 1 0 6 6 6 6 6 6 6 6 6 6 6 0 6 6 6 0 1 0 6 6 6 0 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1
1 1 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1 0 6 6 0 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1
1 1 0 6 6 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1 1 1 0 6 6 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1
1 1 1 0 6 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1 1 1 0 6 6 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1
1 1 1 0 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1 1 1 1 1 0 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1 1
1 1 1 0 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1 1 1 1 1 0 6 6 6 6 6 6 6 6 6 6 6 0 1 1 1 1
1 1 1 1 0 6 6 6 6 6 6 6 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 6 6 6 6 6 6 6 6 0 1 1 1 1
1 1 1 1 0 6 6 6 6 6 6 6 6 6 0 1 1 1 1 1 1 1 1 1 0 6 6 6 6 6 6 6 6 6 0 1 1 1 1 1
1 1 1 1 0 6 6 6 6 6 6 6 6 0 1 1 1 1 1 1 1 1 1 1 1 0 6 6 6 6 6 6 6 6 0 1 1 1 1 1
1 1 1 1 0 6 6 6 6 6 6 6 6 0 1 1 1 1 1 1 1 1 1 1 1 0 6 6 6 6 6 6 6 6 0 1 1 1 1 1
1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
figura :realización de la matriz de la imagen de las manos en la multiplicación
3.2. Definición de Pantallas de entradas.
3.2.1. Menú principal
El menú implementado,
es un menú interactivo,
donde el usuario, con el
uso por medio de las
teclas de las flechas
(arriba y abajo) se
desplazará.
Se pudo ver que tanto para un numero de diferentes sistemas de base como para tantas cadenas de
caracteres se puede aplicar los arrays. haciendo el manejo de ellos menos tedioso y repetitivo.
En la programación tradicional siempre se manejan dos tipos de arreglos los arreglos tipo listas, vectores
o unidimensionales y los arreglos tipo tablas, cuadros, concentrados, matrices o bidimensionales en
ambos casos son variables que permiten almacenar un conjunto de datos del mismo tipo a la vez, su
diferencia es en la cantidad de columnas que cada uno de estos tipos contiene.
Para concluir en pocas palabras, un arreglo es la mejor solución a la hora de agrupar distintos datos que
sean de un mismo tipo, estos datos se almacenan en la memoria y reciben un nombre común para todos.
5. Referencia.
Autor Agustín Trejo
Título del articulo Arreglos
Sitio web Introduccionprogramacionbuap.blogspot.com
URL: http://introduccionprogramacionbuap.blogspot.com/2012/11/arreglos.html
Título
del
Programación en C++/Arrays y cadenas de texto - Wikilibros
articulo
Sitio
web Es.wikibooks.org
URL: https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Arrays_y_cadenas_de_texto
Título
del Lógica binaria
articulo
Sitio
Recursostic.educacion.es
web
URL: http://recursostic.educacion.es/secundaria/edad/4esotecnologia/quincena5/4q2_contenidos_2
6. Programa Fuente.
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
//VARIABLES PARA CONTROLAR LOS DIFERENTES MENUS
int pos = 0,fin = 0;
int repite = 1;
int repetir2 = 0;
int repetir3 = 0;
char key, opcion;
// VARIABLES DE CONTROL DE LOS FOR
int i,j,n,multi;
//VARIABLE PARA INICIALIZAR Y DEFINICION LAS FIGURAS DE LA MANOS
int manos[5][25][40]={
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1},
{1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1
,1,1},
{1,1,1,1,1,1,0,0,0,6,6,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,6,6,0,0,0,1,1,1,1,1
,1,1},
{1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1
,1,1},
{1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,0,0,1,1
,1,1},
{1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,1,0,0,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,0,0,0,1,0,0,0,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,0,6,6,0,1,0,6,6,0,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,6,6,6,0,1,0,6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,0,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1
,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1}},
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1},
{1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1
,1,1},
{1,1,1,1,1,1,1,1,0,6,6,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,6,6,0,0,0,1,1,1,1,1
,1,1},
{1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1
,1,1},
{1,1,1,0,0,1,1,1,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,0,0,1,1
,1,1},
{1,1,0,6,6,0,1,1,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,1,1,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,1,0,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,0,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,0,0,0,1,0,0,0,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,0,6,6,0,1,0,6,6,0,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,6,6,6,0,1,0,6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,0,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1
,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1}},
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1
,1,1},
{1,1,1,1,1,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,6,6,0,0,0,1,1,1,1,1
,1,1},
{1,1,1,1,1,0,6,6,0,1,1,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1
,1,1},
{1,1,1,0,0,0,6,6,0,1,1,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,0,0,1,1
,1,1},
{1,1,0,6,6,0,6,6,0,1,1,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,1,1,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,1,0,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,0,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,0,0,0,1,0,0,0,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,0,6,6,0,1,0,6,6,0,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,6,6,6,0,1,0,6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,0,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1
,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1}},
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1},
{1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1
,1,1},
{1,1,1,1,1,1,0,0,0,6,6,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,6,6,0,0,0,1,1,1,1,1
,1,1},
{1,1,1,1,1,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1
,1,1},
{1,1,1,0,0,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,0,0,1,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,0,0,1,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,0,0,0,1,0,0,0,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,0,6,6,0,1,0,6,6,0,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,6,6,6,0,1,0,6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,0,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1
,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1}},
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1},
{1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1
,1,1},
{1,1,1,1,1,1,0,0,0,6,6,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,6,6,0,0,0,1,1,1,1,1
,1,1},
{1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,1,1,1,1
,1,1},
{1,1,1,0,0,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,0,0,1,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,0,0,1,0,6,6,0,6,6,0,6,6,0,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,0,6,6,0,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,0,0,0,0,0,1,1,1,1,1,0,6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,0,6,6,6,6,0,1,1,1,1,1,0,6,6,0,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,0,6,6,6,6,6,6,6,0,6,6,6,6,0,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,0,0,0,6,0,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,6,6,0,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,0,6,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,6,0,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1,1,1,1,1,1,1,1,1,0,6,6,6,6,6,6,6,6,0,1,1,1
,1,1},
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1
,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1}}
};
//VARIABLE PARA INICIALIZAR Y DEFINIR LAS OPCIONES DEL MENU
char opciones[5][25]={"1. TABLA DEL 9 ", "2. DECIMAL A BINARIO ","3. BINARIO
A HEXADECIMAL","4. BINARIO A DECIMAL ","5. SALIR "};
//VARIABLES PARA INICIALIZAR LA TOMA DE LOS NUMEROS DECIMALES INGRESADOS POR
EL USUARIO
int num[8];
int cantNum = 0;
//VARIABLES PARA INICIALIZAR Y ALMACENAR LA CONVERCION DE DECIMAL->BINARIO
int t;
int binNum[8][8];
char convbin[8][9] = {""};
char charBin[8][9] = {""}; // INVENTADO PERO FUNCIONA
char result[100]="";
//VARIABLES PARA INICIALIZAR Y ALMACENAR LA CONVERCION DE BINARIO-
>HEXADECIMAL
char convhex[8][9]={""};
char resul[100]="";
char msg[9]="";
//VARIABLES PARA INICIALIZAR Y ALMACENAR LAS DIAGONALES BINARIAS
int BinDiagP[8];
char chardiagP[8] = "";
int BinDiagS[8];
char chardiagS[8] = "";
char msg2[9]="";
char msg3[9]="";
//FUNCION PARA EL MENU
void imprime_menu(char menu[][25], int pos,int n);
//FUNCIONES PARA MOSTRAR LAS MANOS
void tabla();
void proceso1(int n_tabla, int num, int result);
void proceso2(int n_tabla, int num, int result);
//FUNCIONES DE CONVERION DE DIFERENTES BASES
char* bin_a_hex(char resul[], char bin[]);
int bin_a_dec(char *str);
char* dec_a_bin(char result[], int decimal);
int binary2decimal(char n[]);
int val(char c);
void printHexDigit(int d);
int main(void)
{
do {
cantNum = 0;
pos = 0;
fin = 0;
repetir2 = 0;
repetir3 = 0;
repite = 1;
t = 0;
imprime_menu(opciones,pos,5);
do{
key = getch();
switch(key)
{
case 72: if (pos == 0) pos = 4;
else pos--;
break;
case 80: if (pos == 4) pos =0;
else pos++;
break;
case 13: fin = 1;
}
imprime_menu(opciones,pos,5);
}while(!fin);
switch (pos) {
case 0:
textbackground(1);
tabla();
textbackground(0);
break;
case 1:
clrscr();
//LIMPIANDO O REINIZIANDO LAS VARIABLES CHAR
for (i = 0; i < 8; i++) {
strcpy(charBin[i],"");
}
strcpy(msg,"");
strcpy(result,"");
// CAPTURANDO LOS VALORES DE ENTRADA DEL USUARIO MAX 8 VALORES
do {
if (cantNum == 0) {
printf("Introdusca un numero decimal a convertir:\n");
}
printf("NUM[%d]::", cantNum+1);
scanf("%d", &num[cantNum]);
cantNum++;
} while(cantNum <= 7);
//TRANSFORMANDO DE LO 8 NUMEROS DECIMAL A BINARIO DE 8 BITS Y
ALMACENANDOLO EN LA MATRIZ 8X8
for (i = 0; i < 8; i++) {
t = num[i];
sprintf(convbin[i], "%s", dec_a_bin(result, t));
for (j = 7; j >= 0 ; j--) {
binNum[i][j] = t % 2;
t = t / 2;
}
}
//IMPRIMIENDO LA MATRIS 8X8 BINARIA
clrscr();
printf("RESULTADO DE LA CONVERCION DE DECIMAL -> BINARIO\n");
printf("\n Decimal Binario");
for (i = 0; i < 8; i++) {
printf("\n\t%d --> ", num[i]);
for (j = 0; j <= 7 ; j++) {
printf("%d",binNum[i][j]);
}
}
//CAMBIADO DE ENTERO A CARACTER (int->char) PARA MANEJAR LA
CONVERCION A HEXADECIMAL
for (i = 0; i < 8; i++) {
for (j = 0; j <= 7 ; j++) {
itoa(binNum[i][j], msg, 10);
strcat(charBin[i], msg);
}
}
getch();
break;
case 2:
fflush(stdout);
//LIMPIANDO O REINIZIANDO LAS VARIABLES CHAR
clrscr();
//////////////////////
/*
strcpy(resul,"");
// CONVERTIENDO A HEXADECIMAL
// IMPRIMIR LA CONVERCION DE BINARIO A HEXADECIMAL
printf("RESULTADO DE LA CONVERCION DE BINARIO -> HEXADECIMAL\n");
printf("\n Binario\tHexadecimal\n ");
gotoxy(18,5);
for (i = 0; i < 8; i++) {
sprintf(convhex[i], "%s",bin_a_hex(resul, convbin[i]));
gotoxy(3,i+5);cprintf("%s -->", charBin[i]);
gotoxy(18,i+6);cprintf("%s",convhex[i]);
}
getch();
break;
case 3:
clrscr();
//LIMPIANDO O REINIZIANDO LAS VARIABLES CHAR
strcpy(chardiagP,"");
strcpy(chardiagS,"");
strcpy(msg2,"");
strcpy(msg3,"");
// ALMACENANDOLO LA DIAGONAL PRINCIPAL DE LA MATRIZ 8X8
// ALMACENANDOLO LA DIAGONAL SECUNDARIA DE LA MATRIZ 8X8
printf("\n CONVERCION DE LAS DIAGONALES A BINARIAS A DECIMALES\n");
printf("\n\tMATRIZ ORIGINAL\n");
for (i = 0; i < 8; i++) {
printf("\n\t");
for (j = 0; j <= 7 ; j++) {
printf("%d",binNum[i][j]);
}
}
printf("\n\n BINARIO
DECIMAL");
for (i = 0; i < 8; i++) {
BinDiagP[i] = binNum[i][i];
itoa(BinDiagP[i], msg2, 10);
strcat(chardiagP, msg2);
}
printf("\nBinario de la diagonal principal %s -->\t%d", chardiagP,
bin_a_dec(chardiagP));
for (j = 0; j < 8; j++) {
BinDiagS[j] = binNum[j][7-j];
itoa(BinDiagS[j], msg3, 10);
strcat(chardiagS, msg3);
}
printf("\nBinario de la diagonal segundario %s -->\t%d", chardiagS,
bin_a_dec(chardiagS));
getch();
break;
case 4:
clrscr();
repite = 0;
break;
}
} while(repite);
return 0;
}
switch (multi) {
case 9:
proceso1(0, n, multi);
getch();
break;
case 18:
proceso1(1, n, multi);
getch();
break;
case 27:
proceso1(2, n, multi);
getch();
break;
case 36:
proceso1(3, n, multi);
getch();
break;
case 45:
proceso1(4, n, multi);
getch();
break;
case 54:
proceso2(4, n, multi);
getch();
break;
case 63:
proceso2(3, n, multi);
getch();
break;
case 72:
proceso2(2, n, multi);
getch();
break;
case 81:
proceso2(1, n, multi);
getch();
break;
case 90:
proceso2(0, n, multi);
getch();
break;
}
clrscr();
printf("PRESIONAR (S/N) N->salir S->repetir: \n-->");
scanf("%s",&car);
if (car=='S'|| car=='s')
{
repetir2 = 1;
}
else
{
printf("HASTA LUEGO!!");
repetir2 = 0;
}
}while(repetir2);
}
int val(char c) {
if (c >= '0' && c <= '9')
return (int)c - '0';
else
return (int)c - 'A' + 10;
}
d=binary2decimal(temp);
if(d!=0) printHexDigit(d);
while(bin[i]!='\0')
{
for(j=0;j<4;++i,++j)
temp[j]=bin[i];
temp[j]='\0';
d=binary2decimal(temp);
printHexDigit(d); }
return resul;