hola tengo una duda sobre como multiplexar una matriz led de 8x8 por codigo ya que no tengo un multiplexor para realizar esta tarea
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#include <iostream>
#include <stdlib.h>
using namespace std;
struct nodo{
float nro; // en este caso es un numero entero
struct nodo *sgte;
};
typedef struct nodo *Tlista;
void insertarInicio(Tlista &lista, float valor)
{
Tlista q;
q = new(struct nodo);
q->nro = valor;
q->sgte = lista;
lista = q;
}
void insertarFinal(Tlista &lista, float valor)
{
Tlista t, q = new(struct nodo);
q->nro = valor;
q->sgte = NULL;
if(lista==NULL)
{
lista = q;
}
else
{
t = lista;
while(t->sgte!=NULL)
{
t = t->sgte;
}
t->sgte = q;
}
}
int insertarAntesDespues()
{
int _op, band;
printf("\t 1. Antes de la posicion \n");
printf("\t 2. Despues de la posicion \n");
printf("\n\t Opcion : ");
scanf("%d",&_op);
if(_op==1)
band = -1;
else
band = 0;
return band;
}
void insertarElemento(Tlista &lista, float valor, int pos)
{
Tlista q, t;
int i;
q = new(struct nodo);
q->nro = valor;
if(pos==1)
{
q->sgte = lista;
lista = q;
}
else
{
int x = insertarAntesDespues();
t = lista;
for(i=1; t!=NULL; i++)
{
if(i==pos+x)
{
q->sgte = t->sgte;
t->sgte = q;
return;
}
t = t->sgte;
}
}
printf(" Error...Posicion no encontrada..!");
}
void buscarElemento(Tlista lista, float valor)
{
Tlista q = lista;
int i = 1, band = 0;
while(q!=NULL)
{
if(q->nro==valor)
{
cout<<endl<<" Encontrada en posicion "<< i <<endl;
band = 1;
}
q = q->sgte;
i++;
}
if(band==0)
printf("\n\n Numero no encontrado..!");
}
void reportarLista(Tlista lista)
{
int i = 0;
while(lista != NULL)
{
cout <<' '<< i+1 <<") " << lista->nro << endl;
lista = lista->sgte;
i++;
}
}
void eliminarElemento(Tlista &lista, float valor)
{
Tlista p, ant;
p = lista;
if(lista!=NULL)
{
while(p!=NULL)
{
if(p->nro==valor)
{
if(p==lista)
lista = lista->sgte;
else
ant->sgte = p->sgte;
delete(p);
return;
}
ant = p;
p = p->sgte;
}
}
else
printf(" Lista vacia..!");
}
void eliminaRepetidos(Tlista &lista, float valor)
{
Tlista q, ant;
q = lista;
ant = lista;
while(q!=NULL)
{
if(q->nro==valor)
{
if(q==lista) // primero elemento
{
lista = lista->sgte;
delete(q);
q = lista;
}
else
{
ant->sgte = q->sgte;
delete(q);
q = ant->sgte;
}
}
else
{
ant = q;
q = q->sgte;
}
}// fin del while
printf("\n\n Valores eliminados..!");
}
/* Funcion Principal
---------------------------------------------------------------------*/
struct dati{
float mod;
float ang;
};
int main()
{
Tlista lista = NULL;
int op; // opcion del menu
float _dato; // elemenento a ingresar
int pos; // posicion a insertar
do
{
printf("LISTA ENLAZADA SIMPLE \n");
printf("1. INSERTAR AL INICIO\n");
printf("2. INSERTAR AL FINAL\n");
printf("3. INSERTAR EN UNA POSICION \n");
printf("4. BUSCAR ELEMENTO\n");
printf("5. ELIMINAR ELEMENTO 'V'\n");
printf("6. ELIMINAR ELEMENTOS CON VALOR 'V\n");
printf("7. SALIR \n");
printf("INGRESE OPCION: ");
scanf("%d",&op);
switch(op)
{
case 1:
printf("\nNUMERO A INSERTAR ");
scanf("%f",&_dato);
insertarInicio(lista, _dato);
printf("\nMOSTRANDO LISTA\n");
reportarLista(lista);
break;
case 2:
printf("\nNUMERO A INSERTAR ");
scanf("%f",&_dato);
insertarFinal(lista, _dato );
printf("\nMOSTRANDO LISTA\n");
reportarLista(lista);
break;
case 3:
printf("\nNUMERO A INSERTAR ");
scanf("%f",&_dato);
printf("\nPosicion : ");
scanf("%d",&pos);
insertarElemento(lista, _dato, pos);
printf("\nMOSTRANDO LISTA\n");
reportarLista(lista);
break;
case 4:
printf("\nValor a buscar: ");
scanf("%f",&_dato);
buscarElemento(lista, _dato);
break;
case 5:
printf("\nValor a eliminar: ");
scanf("%f",&_dato);
eliminarElemento(lista, _dato);
printf("\nMOSTRANDO LISTA\n");
reportarLista(lista);
break;
case 6:
printf("\nValor repetido a eliminar: ");
scanf("%f",&_dato);
eliminaRepetidos(lista, _dato);
printf("\nMOSTRANDO LISTA\n");
reportarLista(lista);
break;
}
printf("\n\n");
system("pause"); system("cls");
}while(op<7);
return 0;
}
#include<iostream>
#include<complex>
using namespace std;
double ang,rest,re,im,pot,mod;
int main()
{
cout<<"Por favor introduzca la parte real de su numero complejo: ";
cin>>re;
cout<<endl<<"Ahora la parte imaginaria: ";
cin>>im;
ang = (atan (im/re))* 57,29578;
mod = sqrt ((re*re)+(im*im));
cout<<"La expresion en forma polar es: ("<<mod<<" con angulo "<<ang<<")"<<endl;
system ("pause");
cin.get();
return 0;
}
#include<iostream>
#include<cmath>
//Programa para transformar de Rectangular a Polar
using namespace std;
int n,i;
double ang,rest,re,im,pot,mod;
int main()
{
cout<<"\nIngrese cantidad de Tensiones Complejas\n";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Por favor introduzca la parte real de su numero complejo"<<i<<": \n";
cin>>re;
cout<<endl<<"Ahora la parte imaginaria"<<i<<": \n";
cin>>im;
ang = (atan (im/re))* 57,29578;
mod = sqrt ((re*re)+(im*im));
cout<<"La expresion en forma polar"<<i<<" es: "<<mod<<" con angulo "<<ang<<"\n"<<endl;
}
system ("pause");
cin.get();
return 0;
}
// Programa para pasar de Polar a Rctangular
#include<iostream>
#include<cmath>
using namespace std;
int i,n;
double ang,rest,re,im,pot,mod,rad;
int main()
{
cout<<"\nIngrese cantidad de Tensiones Polares : ";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Por favor introduzca el modulo: "<<i<<": \n";
cin>>mod;
cout<<endl<<"Ahora el angulo en grados: "<<i<<": \n";
cin>>ang;
rad=ang*3.1416/180.0;
re = mod * cos (rad);
im = mod * sin(rad);
cout<<"La expresion en forma rectangular"<<i<<" es: "<<re<<" "<<im<<"j \n"<<endl;
}
system ("pause");
cin.get();
return 0;
}