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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1]
1  Informática / Electrónica / Control de velocidad de un motor DC - 89S52 en: 28 Diciembre 2013, 20:40 pm
Feliz año nuevo a todos,espero que esten bien...
bueno.. no se si me puedan ayudar.. o algun foro que me recomienden.

Estoy tratando de controlar la velocidad de giro de un motor usando el micro 89S52, hize un diagrama (aun no se incrustar imagenes aqui), y el programa con las instrucciones en ensamblador,
aunque tampoco se si poner el codigo aqui, porque no se si traten temas d eeste tipo... perdonen mi falta de conocimiento sobre este  foro...
... si alguien me puede ayudar o almenos recomendarme un lugar donde pueda resolver mis dudas se lo agradezco de antemano :)

2  Programación / Programación C/C++ / Re: [Ayuda] Ordenar por edad y por nombre, datos de un struct. en: 7 Octubre 2013, 03:36 am
En el segundo fragmento que debes completar solo tienes un bucle cuando necesitas dos.

En el primer fragmento hay dos errores, el primero ya lo indico eferion y el segundo son los indices (incorrectos) utilizados. Utiliza el motor de búsqueda de los foros (o sitios como Wikipedia) para verificar como se debe implementar el algoritmo de ordenacion BubbleSort.

Un saludo

Gracias,  tomare en cuenta tus sugerencias, paso a terminar el programa :D :D
Igual, perdona por no contestar rapido, como ya explique se me fue la luz y no pude seguir...

y de veras gracias, saludos
3  Programación / Programación C/C++ / Re: [Ayuda] Ordenar por edad y por nombre, datos de un struct. en: 7 Octubre 2013, 03:31 am
Código
  1. for(int i=1;i<tam-1;i++)
  2. {
  3.  for(int j=1;j<tam-i-1;j++)
  4.  {
  5.    if (vec[i].edad> vec[j].edad)
  6.    {
  7.      struct empleado temp = vec[i];
  8.      vec[i]= vec[j];
  9.      vec[j] = temp;          
  10.    }
  11.  }
  12. }

En el caso de ordenar por nombre te pasa exactamente lo mismo.

PD.: intenta no usar variables globales, no suelen ser una buena idea en el 99% de los casos.

PD2.: ya que estás usando c++, lo mismo te resulta más cómodo utilizar la clase string para manejar las cadenas, en vez de char*. Además, te podrías plantear usar la clase vector en vez de un array de c para gestionar la lista de empleados.

PD3.: Hay una tercera forma de ordenar y es usando las funciones qSort y sort... pero eso es algo que dejo que investigues por tu cuenta.

Un saludo.
[/quote]


GRACIAS de veras, perdona x no poder contestar ayer (se me fue la luz), y entre trabajo y tareas de las otras materias .... :S

Si, investigare mas acerca de los metodos, y me basare en las lineas que escribiste.

No entendia bien como hacerlo en el struct.
:D :D :D :D :D :D
4  Programación / Programación C/C++ / [Ayuda] Ordenar por edad y por nombre, datos de un struct. en: 5 Octubre 2013, 02:26 am
Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cstdio>
  4. #include <cstring>
  5. #define tam 4 //constante
  6.  
  7. struct empleado{
  8. char nom[30];
  9. int edad;
  10. float sueldo;
  11. char sexo;
  12. char mat[2][30];
  13. };
  14.  
  15. //Prototipos
  16. empleado captura();
  17.  
  18. void imprimir(empleado emp);
  19. void ordenar(empleado vec[]);
  20.  
  21. using namespace std;
  22.  
  23. int main()
  24. {
  25. //vec de struct para trabajar TAM registros
  26. empleado vec[tam];
  27. int temp,temp2;
  28.  
  29. for(int i=1;i<tam;i++)
  30. vec[i]=captura();
  31.  
  32.  
  33. cout<<"\n\nRegistros Desordenados\n";
  34. for(int i=1;i<tam;i++)
  35. imprimir(vec[i]);
  36.  
  37.  
  38. //C O M P L E T A R ..... Linea de codigo que ordena el vector por edad
  39. cout<<"\n\nRegistros ordenados por EDAD\n";
  40.  
  41.  
  42. for(int i=1;i<tam-1;i++)
  43. {
  44. for(int j=1;j<tam-i-1;j++)
  45. {
  46. if (vec[j].edad> vec[j+1].edad)
  47. {
  48. temp=vec[j].edad;
  49. vec[j].edad=vec[j+1].edad;
  50. vec[j+1].edad=temp;
  51. }
  52. }
  53. }
  54.  
  55.  
  56.  
  57. for(int i=0;i<tam;i++)
  58. imprimir(vec[i]);
  59.  
  60.  
  61. //C O M P L E T A R ..... Linea de codigo que ordena el vector por nombre
  62. cout<<"\n\nRegistros Ordenados por NOMBRE\n";
  63.  
  64. for(int j=1;j<tam;j++)
  65. {
  66. temp2=strcmp(vec[j].nom,vec[j+1].nom);
  67. if(temp2>0)
  68. strcpy(vec[0].nom,vec[j].nom);
  69. strcpy(vec[j].nom,vec[j+1].nom);
  70. strcpy(vec[j+1].nom,vec[0].nom);
  71. }
  72.  
  73.  
  74. for(int i=1;i<tam;i++)
  75. imprimir(vec[i]);
  76.  
  77.  
  78.  
  79. system("PAUSE");
  80. return EXIT_SUCCESS;
  81. }
  82.  
  83.  
  84.  
  85. empleado captura()
  86. {
  87. empleado emp; //Variable local de captura
  88.  
  89. cout<<"\n\nNombre: ";
  90. cin.getline(emp.nom,30);
  91. cout<<"Edad: ";
  92. cin>>emp.edad;
  93. cout<<"Sueldo: ";
  94. cin>>emp.sueldo;
  95. cout<<"Sexo: ";
  96. cin>>emp.sexo;
  97. fflush(stdin);
  98. cout<<"mail 1: ";
  99. cin.getline(emp.mat[0],30);
  100. cout<<"mail 2: ";
  101. fflush(stdin);
  102. cin.getline(emp.mat[1],30);
  103. return emp;
  104. }
  105.  
  106. void imprimir(empleado emp)
  107. {
  108. cout<<endl<<"Nombre: "<<emp.nom;
  109. cout<<endl<<"Edad: "<<emp.edad;
  110. cout<<endl<<"Sueldo: "<<emp.sueldo;
  111. cout<<endl<<"Sexo: "<<emp.sexo;
  112. cout<<endl<<"Mail 1: "<<emp.mat[0];
  113. cout<<endl<<"Mail 2: "<<emp.mat[1]<<endl;
  114. return;
  115. }
  116.  


El programa consiste en ordenar el vector por edad y nombre alfabeticamente...
si alguien me puede orientar o ayudarme, se los agradezco mucho.

:)
5  Programación / Programación C/C++ / Re: Recursividad: Simulacion de ciclos (Imprimir una cadena alreves) en: 16 Septiembre 2013, 23:46 pm
El error lo tienes en el if, le estás diciendo que si la longitud de la cadena es MENOR que cero imprima, como es mayor, pues no imprime.

Un saludo



jejejeje....   ::)

GRACIAS... no se como no lo pude ver....  :o
le hacia mas caso a los procesos   :-\

de veras gracias  :rolleyes:  

 :xD
6  Programación / Programación C/C++ / Re: Recursividad: Simulacion de ciclos (Imprimir una cadena alreves) en: 16 Septiembre 2013, 23:33 pm
Mejor manejalo con string y lee la cadena con getline(cin,variable) para que los espacios los cuentes y ya


Gracias por la sugerencia y la rápida respuesta :D

Aunque me gustaría saber donde esta mi error ... :(

7  Programación / Programación C/C++ / [SOLUCIONADO]Recursividad: Simulacion de ciclos (Imprimir una cadena alreves) en: 16 Septiembre 2013, 23:19 pm
Esta ves quisiera saber si alguien ve mi error, al parecer la compilación sucede pero no muestra nada al ejecutarlo, si me pueden ayudar se los agradezco.


Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cstring>
  4.  
  5. void cadena(char cad[],int i);
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11. char cad[]="hola a todos";
  12.  
  13. cadena(cad,strlen(cad)-1);
  14.  
  15.  
  16. system("PAUSE");
  17. return EXIT_SUCCESS;
  18. }
  19.  
  20. //Imprimir una cadena alreves
  21. void cadena(char cad[],int i)
  22. {
  23. if(i<=0)
  24. {
  25. cout<<cad[i]<<" ";
  26. cadena(cad,i-1);
  27. }
  28. }
  29.  
8  Programación / Programación C/C++ / Re: [Ayuda]Parametros en la funcion main con Geany, C++ en: 8 Septiembre 2013, 03:42 am
Código:

En definitiva, de este modo creo que tendría que funcionarte:
Código
  1. #include <iostream>
  2. #include <sstream>
  3.  
  4. int main(int argc, char* argv[])
  5. {
  6.  
  7.  float t, sum = 0;
  8.  
  9.  // Mostrar parámetros
  10.  std::cout << "Parametros recibidos: ";
  11.  for (int i = 1; i < argc; i++)
  12.    std::cout << argv[i] << " ";
  13.  std:: cout << std::endl;
  14.  
  15.  // Calcular promedio
  16.  for (int i = 1; i < argc; i++) {
  17.    std::istringstream(argv[i]) >> t;
  18.    sum += t;
  19.  }
  20.  if ((argc-1) > 0)
  21.    std::cout << "Promedio: " << sum / (argc-1) << std::endl;
  22.  return 0;
  23. }
  24.  

Saludos :)

Edito: Perdón, no había visto la respuesta de Alien-Z mintras escribía.

Gracias a los dos... ahora pude terminar mis practicas... pero tendré muy en cuenta tu ejemplo.
Doy mi problema por solucionado..
:D :D

Saludos.
9  Programación / Programación C/C++ / Re: [Ayuda]Parametros en la funcion main con Geany, C++ en: 7 Septiembre 2013, 23:12 pm


<< Ejecuta el programa desde la consola de comandos y olvídate de la IDE, para ello dirígete a la carpeta donde se encuentra la aplicación compilada desde la consola >>

Código:
./nombrePrograma 1 2 3 4 5 6

Debes indicar la posición a la que quieres acceder:

Código
  1. ...
  2. cout<<"\n"<<argv[i]<<"\n";
  3. ...
  4. n=atoi(argv[i]);
  5. ...



Esta parte la uso con DevC:
Código:
system("PAUSE");




Modificando y Ejecutando...
de verdad Gracias por la rápida respuesta.

:D :D
10  Programación / Programación C/C++ / [SOLUCIONADO][Ayuda]Parametros en la funcion main con Geany, C++ en: 7 Septiembre 2013, 22:25 pm
Hola a todos...

Soy nuevo en este foro, me han hablado muy bien de esta pagina. No se si sea el lugar correcto para preguntar acerca de esto.

Actualmente estoy estudiando en la universidad, recibo clases de programación bajo le IDE DevC
y a mi no me agrada mucho estar usando Windows. Bueno dejare explicaciones para después...


Uso Geany en Debian... y hasta ahora no he podido la opcion para poder manejar los Parámetros...
Este es mi código fuente... es un programa sencillo que muestra los datos de los parámetros de main y muestra su promedio.



using namespace std;

int main(int argc, char *argv[])
{
cout<<"\nargc="<<argc;

   for(int i=0;i<argc;i++)
   {
   cout<<"\n"<<argv<<"\n";
   }

//Ahora aobtener promedio
int acum=0,n;
float prom;

   for(int i=2;i<argc;i++)
   {
   n=atoi(argv);
   //acum+=n;
   acum=acum+n;
   }

prom=(float)acum/(argc-2);
cout<<"\nEl promedio es: "<<prom<<"\n\n";


    system("PAUSE");
    return EXIT_SUCCESS;
}


Si alguien ha usado Geany... podría decirme como puedo ingresar loas parámetros a la función main. Se los agradecería mucho. :)
O en su defecto recomendarme otro programa para practicar.

Gracias y saludos.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines