elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Cronometro con arduino y 7 segmentos en: 17 Mayo 2017, 17:58 pm
Buenas,
necesito realizar un cronometro para implantar en arduino. Para la entrada tengo dos puladores uno para el start/lap y el otro para el stop/reset y a la salida tres 7 segmentos dos para los segundos y el otro para las decimas de segundo. Nose como implementar los pulsadores en c.
2  Sistemas Operativos / Windows / Ayuda Controlador de Pantalla en Windows 7 64 bits en: 16 Noviembre 2016, 22:23 pm
Buenas , he formateado el Pc hace poco tiempo ,pero desde entonces no puedo instalar el controlador de pantalla de AMD (una HD Radeon 6470m) he probado todo lo encontrado en google y nada me da el mismo error .
Mi grafica va bien la probe hace nada con FurMark, pero al formatear y despues instalar el controlador ha empezado a darme el error atikmpag.sys 116 en el BSOD.
He probado extender el fichero manualmente y copiarlo en la carpeta de los drivers de system32 , he vuelto a formatear el PC y nada no me acepta el driver.. Es instalarlo, reiniciar y me aparece el error... por lo que tengo que entrar al modo seguro y desinstalar el driver para que pueda iniciar el PC sin que me de error.. Si a alguien ya le ha pasado y lo ha solucionado espero que me pueda echar una mano. Un saludo :D

3  Programación / Programación C/C++ / Re: Duda en declaración de funciones (C++) en: 18 Agosto 2016, 15:51 pm
Buenas Jona . Se usa el const por que es un metodo que no modifica ningun atributo y por que un metodo que no se declara como constante se trata como uno que puede modificar los atributos del objeto , y el compilador no dejara que un objeto constate lo utilice.
4  Programación / Programación C/C++ / Re: Cambiar de String a natural en: 8 Septiembre 2015, 23:39 pm
Muchisimas gracias compañeros. Ya lo he entendido :D . Muy buena la explicacion ivancea :D
5  Programación / Programación C/C++ / Re: Cambiar de String a natural en: 8 Septiembre 2015, 22:41 pm
El profesor , no quiere que utilizemos ninguna biblioteca que no sea  la array , string o iostream para el diseño de este programa y el lenguaje c++... Pero muchas gracias de todas maneras
6  Programación / Programación C/C++ / Cambiar de String a natural en: 8 Septiembre 2015, 18:42 pm
Buenas, estoy haciendo un programa y me he quedado atascado en un subalgoritmo... En este subalgoritmo  le paso como parametro de entrada un string con digitos y simbolos( '+' o '-' ) y me tiene que devolver el resultado de la expresion puesta en la cadena de caracteres. Mi duda es como puedo pasar los digitos , por ejemplo , 123 a un numero natural para poder sumarlo. No se me ocurre nada , solo pasarlo caracter a caracter . Espero que me podais echar una mano. Gracias
7  Programación / Programación C/C++ / Duda ejercicio manejo de arrays en: 13 Agosto 2015, 18:08 pm
Buenas tardes. Tengo un problema y llevo un dia intentando solucionarlo pero no hay manera de que encuentre alguna solucion... Se trata de un ejercicio para aprender a moverte por los arrays y los struct . La mayor parte del ejercicio lo tengo resuelto solo me falta un subalgoritmo que al implementarlo no me da el resultado que me pide.
Este es el subalgoritmo que me falta por hacer:
 void all_mostFreqKMers(const string &texto, unsigned k, All_KmerMF &all_kmer_mf);
 que devuelve todos los k-mer mas frecuentes (all kmer mf) de texto . El tipo All KmerMF debe definirse como:

const unsigned MAX_KMERS = 10; // Maximo numero posible de kmers de tamaño k
typedef array <string, MAX_KMERS> KMers; // Array de cadenas para guardar los kmers mas frecuentes.
struct All_KmerMF
{
KMers kmers; // Listado de kmers (cadenas) mas frecuentes de tamaño k
unsigned num_kmers; // Numero de kmers mas frecuentes de tamaño k
unsigned frec; // Frecuencia de los kmers mas frecuentes de tamano k
};

Asi, en el ejemplo anterior, si llamamos al algoritmo all mostFreqKMers con k = 9, debe devolvernos los k-mers:

ATGATCAAG
CTCTTGATC
TCTTGATCA
CTTGATCAT

que tienen una frecuencia de 3 apariciones en el texto.

Aqui os dejo el codigo que he echo me compila bien , lo unico es que me devuelve por pantalla el mismo kmer , es decir , si pongo k = 9 , me devuelve 10 veces "CTTGATCAT" . Espero que me puedan echar una mano.


Código:
Código:
#include <iostream>
#include <string>
#include <tr1/array>

using namespace std ;
using namespace std :: tr1 ;
//Constantes y tipos
const unsigned MAX_KMERS = 10; // Maximo numero posible de kmers de tamaño k

typedef array <string, MAX_KMERS> KMers; // Array de cadenas para guardar los kmers mas frecuentes.

struct KmerMF
{
string kmer;
unsigned frec;
};

struct All_KmerMF
{
KMers kmers; // Listado de kmers (cadenas) mas frecuentes de tamano k
unsigned num_kmers; // Numero de kmers mas frecuentes de tamano k
unsigned frec; // Frecuencia de los kmers mas frecuentes de tamano k
};

//Cabecera subalgorimos
unsigned calc_frec(const string &texto, unsigned pos, const string &kmer) ; //Calcula la frecuencia de aparicion de un kmer en el texto
void mostFreqKMers(const string &texto, unsigned k , KmerMF &kmer_mf) ; //Devuelve el kmer (de longitud k) mas frecuente del texto
void all_mostFreqKMers(const string &texto, unsigned k, All_KmerMF &all_kmer_mf); //Devuelve todos los Kmer mas frecuentes del texto

//Algoritmo principal
int main ()
{

unsigned k ;
string texto = string("ATCAATGATCAACGTAAGCTTCTAAGCATGATCAAGGTGCTCACACAGTTTATCCACAAC") +
         "CTGAGTGGATGACATCAAGATAGGTCGTTGTATCTCCTTCCTCTCGTACTCTCATGACCA"  +
         "CGGAAAGATGATCAAGAGAGGATGATTTCTTGGCCATATCGCAATGAATACTTGTGACTT"  +
         "GTGCTTCCAATTGACATCTTCAGCGCCATATTGCGCTGGCCAAGGTGACGGAGCGGGATT"  +
         "ACGAAAGCATGATCATGGCTGTTGTTCTGTTTATCTTGTTTTGACTGAGACTTGTTAGGA"  +
         "TAGACGGTTTTTCATCACTGACTAGCCAAAGCCTTACTCTGCCTGACATCGACCGTAAAT"  +
         "TGATAATGAATTTACATGCTTCCGCGACGATTTACCTCTTGATCATCGATCCGATTGAAG"  +
         "ATCTTCAATTGTTAATTCTCTTGCCTCGACTCATAGCCATGATGAGCTCTTGATCATGTT"  +
         "TCCTTAACCCTCTATTTTTTACGGAAGAATGATCAAGCTGCTGCTCTTGATCATCGTTTC";

All_KmerMF all_kmer_mf ;

cout << "Introduzca k: " ;
cin >> k ;

all_mostFreqKMers ( texto , k , all_kmer_mf ) ;

for ( unsigned i = 0 ; i < all_kmer_mf.num_kmers ; i++ )
{
cout << "Kmers: " << all_kmer_mf.kmers[i] << endl ;
}

cout <<" ; " << all_kmer_mf.frec << " ; " << all_kmer_mf.num_kmers << endl ;

}


unsigned calc_frec(const string &texto, unsigned pos, const string &kmer)
{
unsigned frec , t , k ;

t = unsigned ( texto.size() ) ;
k = unsigned ( kmer.size() ) ;

frec = 0 ;
for ( unsigned i = pos ; i < t ; i++ )
{
if ( texto.substr ( i,k ) == kmer )
{
frec = frec + 1 ;
}
}

return frec ;

}

void mostFreqKMers(const string &texto, unsigned k, KmerMF &kmer_mf)
{
unsigned frecuencia ;
kmer_mf.frec = 0 ;

for ( unsigned i = 0 ; i < ( int( texto.size() ) -k ) ; i++ )
{

frecuencia = calc_frec ( texto , 0 , texto.substr ( i , k ) ) ;
if ( frecuencia >= kmer_mf.frec )
{
kmer_mf.kmer = texto.substr ( i , k ) ;
kmer_mf.frec = frecuencia ;
}

}

}

void all_mostFreqKMers(const string &texto, unsigned k, All_KmerMF &all_kmer_mf)
{

KmerMF kmer ;

all_kmer_mf.num_kmers = 0 ;

for ( unsigned i = 0 ; i < MAX_KMERS  ; i++ )
{
mostFreqKMers ( texto , k , kmer) ;

all_kmer_mf.kmers[i] = kmer.kmer ;
all_kmer_mf.frec = kmer.frec ;
all_kmer_mf.num_kmers++ ;

}


}
8  Programación / Programación C/C++ / Re: Programa Numeros Perfectos C++ en: 4 Agosto 2015, 21:34 pm
Muchisimas gracias... Llevo toda la tarde buscandole el fallo
9  Programación / Programación C/C++ / Programa Numeros Perfectos C++ en: 4 Agosto 2015, 20:31 pm
Buenas compañeros. Tengo una pequeño problema en el que me he quedado atrancado .... Se trata de este ejercicio:
  Un numero perfecto es un numero natural cuyo valor coincide con la suma de todos sus divisores propios,
es decir todos sus divisores menores que el (incluido el 1). Por ejemplo, el numero 28 se dice que es un
numero perfecto porque su valor coincide con la suma de sus divisores: 28 = 1 + 2 + 4 + 7 + 14
.
  Escribir un programa en C++ que lea por teclado un numero de cifras (mayor que 1) e imprima por pantalla el primer numero perfecto con ese numero de cifras o, en caso de que no exista, imprima un
mensaje indicando que no existe un numero perfecto con ese numero de cifras.


Aqui esta el algoritmo que yo cree , pero no me funciona. Me deja compilarlo pero al poner el numero de cifras deseado no me saca nada por pantalla... Podriais indicarme un poco en que he fallado , gracias :)

Código
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std ;
  5.  
  6. int main ()
  7. {
  8. unsigned n , b , a , perf ;
  9. cout << "Introduzca el numero de cifras: " ;
  10. cin >> n ;
  11. b = pow ( 10 , n) - 1 ;
  12. perf = 0 ;
  13. for ( unsigned i = pow(10 , (n-1)) ; i <= b ; i++ )
  14. {
  15. for (unsigned j = 2 ; j <= i ; j++ )
  16. {
  17. if ( (i % j) == 0 )
  18. {
  19. a = i / j ;
  20. perf = a + perf ;
  21.  
  22. }
  23. }
  24. if ( perf == i )
  25. {
  26. cout << "Numero perfecto: " << perf << endl ;
  27.  
  28. }
  29. }
  30.  
  31. }


Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines