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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 ... 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 [63] 64
621  Programación / Programación C/C++ / Ayuda con subcadena de tipo char en: 5 Julio 2018, 21:53 pm
Queria saber si alguien me puede decir el camino mas corto para extraer cadenas empleando un arreglo de caracteres sin utilizar la clases string, esto es lo que quiero hacer pero con el tipo de dato char

Código
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int opcion;
  9. string fecha;
  10. cout << "INGRESE UNA FECHA EN EL FORMATO DDMMAAAA: ";
  11. getline(cin, fecha);
  12. cout << "ELEGIR FORMATO" << endl;
  13. cout << "1. MM/DD/AAAA" << endl;
  14. cout << "2. DD/MM/AAAA" << endl;
  15. cout << "3. AAAA/MM/DD" << endl;
  16. cin >> opcion;
  17.  
  18. switch(opcion){
  19.  
  20. case 1: cout << fecha.substr(2,2) <<"/" << fecha.substr(0,2) << "/" << fecha.substr(4,4) << endl ;break;
  21. case 2: cout << fecha.substr(0,2) <<"/" << fecha.substr(2,2) << "/" << fecha.substr(4,4) << endl ;break;
  22. case 3: cout << fecha.substr(4,4) <<"/" << fecha.substr(2,2) << "/" << fecha.substr(0,2) << endl ;break;
  23. default: cout << "OPCION INCORRECTA" << endl;
  24. }
  25. system("pause");
  26. return 0;
  27. }

Esto es lo que logre, la verdad me dan mas problemas los de tipo char, en cambio con la clase string nunca tuve problemas  ;-)

Código
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. const int MAX=8;
  7. typedef char tcad[MAX];
  8.  
  9. int main()
  10. {
  11. tcad fecha;
  12. char dia[2], mes[2], año[4];
  13. int opcion;
  14. cout << "Ingrese un afecha en formato DD/MM/AAAA: ";
  15. cin.getline(fecha,9,'\n');
  16. dia[0]=fecha[0];
  17. dia[1]=fecha[1];
  18. mes[0]=fecha[2];
  19. mes[1]=fecha[3];
  20. año[0]=fecha[4];
  21. año[1]=fecha[5];
  22. año[2]=fecha[6];
  23. año[3]=fecha[7];
  24. cout << "Seleccione formato" << endl;
  25. cout << "1. MM/DD/AAAA" << endl;
  26. cout << "2. DD/MM/AAAA" << endl;
  27. cout << "3. AAAA/MM/DD" << endl;
  28. cin >> opcion;
  29. switch(opcion){
  30. case 1: cout << mes << "/" << dia << "/" << año << endl; break;
  31. case 2: cout << dia << "/" << mes << "/" << año << endl; break;
  32. case 3: cout << año << "/" << mes << "/" << dia << endl; break;
  33. default: cout << "Opcion incorrecta" << endl;
  34. }
  35. system("pause");
  36. return 0;
  37. }

Desde ya muchas gracias, saludos  ;-)
622  Programación / Programación C/C++ / Re: Ayuda con algoritmo recursivo y fflush(stdin) en: 4 Julio 2018, 23:44 pm
En lo referente a fflush(stdin): el estándar dice que fflush solo es para flujos de salida así que depende del compilador que funcione o no. Cómo norma general no deberías usarlo.

En cuanto a la recursividad: sí, está bien hecha. Tiene una condición de parada, una llamada que actualiza un estado para que active la condición de parada en el momento oportuno y un trabajo a cumplir.

Lo que hace es escribir en pantalla: Entrando en el sueño del suelo... repitiendo tantas veces del sueño como se hayan indicado en el argumento de llamada.

Por cierto, no destroces el lenguaje con x y e. El español es un de los lenguajes más ricos que existen.


Entonces es mejor usar cin.ignore(); para evitar el error con ingreso de cadenas? te pongo este ejemplo, porque luego de ingresar la variable entera dni, me guarda el ENTER en el buffer

Código
  1. main()
  2. { int dni;
  3.  tcad nombre;
  4.  cout << "Ingrese DNI: ";
  5.  cin >> dni;
  6.  //fflush(stdin); Aca viene el error
  7.  cout << "Ingrese nombre: ";
  8.  gets(nombre);
623  Programación / Programación C/C++ / Re: obtener el número máximo y el número mínimo de matriz aleatoria c++ en: 4 Julio 2018, 23:31 pm
recorriendo la matriz ajajaja y utilizando una bandera logica iniciada en falso y dos variables maximo y minimo, cuando recorras la matriz haz esto:

si (bandera igual a falso entonces a minimo y maximo le agregas el valor de el elemento en la matriz y a bandera le cambiamos el valor a verdadero;)
sino ( si el elemento en matriz es mayor a maximo le agregas ese elemento de la matriz a maximo;
si el elemento en matriz es menor a minimo le agregas ese elemento de la matriz a minimo;)
y ahi tienes ya el valor minimo y maximo de  la matriz ;)  ;-)  :laugh:

Código
  1. void maxmin(matrix m, int &max, int &min)
  2. {
  3. bool band=false;
  4. for(int i=0;i<FILAS;i++){
  5. for(int j=0;j<COLUMNAS;j++){
  6. if(band==false){
  7. max=m[i][j];
  8. min=m[i][j];
  9. band=true;
  10. }
  11. else{
  12. if(m[i][j]>max){
  13. max=m[i][j];
  14. }
  15. if(m[i][j]<min){
  16. min=m[i][j];
  17. }
  18. }
  19. }
  20. }
  21. }

624  Programación / Programación C/C++ / Ayuda con algoritmo recursivo y fflush(stdin) en: 4 Julio 2018, 22:29 pm
Hola a todxs queria saber si este algoritme esta recursivamente bien , y otra consulta es para que sirve , es viable el uso de fflush(stdin) en limpieza del buffer, estoy algo indecise, gracias a todxs


Código
  1. void como_la_realidad(int vida)
  2. {
  3. if(vida<=1)
  4. cout << "Entrando en el sueño";
  5. else
  6. como_la_realidad(vida-1);
  7. cout << " del sueño";
  8. }
625  Programación / Programación C/C++ / Re: Pequeña duda Fibonacci TDA Pila en: 22 Junio 2018, 21:51 pm
Muchas gracias @SrMcLister, entonces mi algoritmo quedaria asi:
//Aunque no me convence del todo ya que al ingresar 1 o 2 me devuelve el valor de la pila.cima y no es lo que busco pero funciona :D

Código
  1. int fibonacci(int n)
  2. {
  3. tpila pila;
  4. init_stack(pila);
  5. while(pila.cima<n-1){
  6. push_stack(pila, pila.datos[pila.cima]+pila.datos[pila.cima-1]);
  7. }
  8. return top_stack(pila);
  9. }
  10.  

En este ejemplo hago una serie 3,5,7,15,27,49,91... y aqui si me convence de lo que estoy devolviendo como valor de la pila.datos[pila.cima]

Código
  1. int serie(int n)
  2. {
  3. tpila pila;
  4. init_stack(pila);
  5. if(pila.cima>n-1){
  6. while(pila.cima>n-1){
  7. pop_stack(pila);
  8. }
  9. }
  10. else{
  11. while(pila.cima<n-1){
  12. push_stack(pila, pila.datos[pila.cima]+pila.datos[pila.cima-1]+pila.datos[pila.cima-2]);
  13. }
  14. }
  15. return top_stack(pila);
  16. }
  17.  

Y no soy Beginner sino que soy malaso en matematicas y hablo  de muy malo  :laugh:
626  Programación / Programación C/C++ / Re: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos en: 22 Junio 2018, 21:44 pm
Resumiendo su pregunta lo que el intento decir es que se aburrio de la programacion back end y quiere hacer el front end en/con videojuegos

C++ , Como programar, Deitel & Deitel , 6ta Edicion  ;-)
627  Programación / Programación C/C++ / Pequeña duda Fibonacci TDA Pila en: 21 Junio 2018, 23:13 pm
Hola, estoy en una duda con acerca de la serie de Fibonacci, me piden ingresar un numero y que me devuelva el termino de la serie 1,1,2,3,5,8.. utilizando pilas, no se me da la idea de como lo puedo hacer respetando operaciones del TDA Pila

Código
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. const int TAMPILA=32;
  7. typedef int contenedor[TAMPILA];
  8. typedef struct{
  9. contenedor datos;
  10. int cima;
  11. }tpila;
  12.  
  13. void fibonacci(int n);
  14. void init_stack(tpila &pila);
  15. void push_stack(tpila &pila, int nuevo);
  16. bool full_stack(tpila pila);
  17. bool empty_stack(tpila pila);
  18. int pop_stack(tpila &pila);
  19. int top_stack(tpila pila);
  20.  
  21. void ingreso(int n);
  22. int main()
  23. {
  24. int numero;
  25. cout << "Ingrese un numero: ";
  26. cin >> numero;
  27. fibonacci(numero);
  28. system("pause");
  29. return 0;
  30. }
  31.  
  32.  
  33. void fibonacci(int n)
  34. {
  35. tpila pila;
  36. init_stack(pila);
  37. while(n>0){
  38. //Aca pondria mi algoritmo si tuviera uno
  39. }
  40.  
  41. cout << "\nFibonacci: " << << endl;
  42. }
  43.  
  44. void init_stack(tpila &pila)
  45. {
  46. pila.cima=-1;
  47. }
  48.  
  49. void push_stack(tpila &pila, int nuevo)
  50. {
  51. if(full_stack(pila)==true){
  52. cout << "PILA LLENA" << endl;
  53. }
  54. else{
  55. pila.cima++;
  56. pila.datos[pila.cima]=nuevo;
  57. }
  58. }
  59.  
  60. bool full_stack(tpila pila)
  61. {
  62. return pila.cima==TAMPILA-1;
  63. }
  64.  
  65. bool empty_stack(tpila pila)
  66. {
  67. return pila.cima==-1;
  68. }
  69.  
  70. int pop_stack(tpila &pila)
  71. {
  72. int aux;
  73. if(empty_stack(pila)==true){
  74. aux=-1;
  75. }
  76. else{
  77. aux=pila.datos[pila.cima];
  78. pila.cima--;
  79. }
  80. return aux;
  81. }
  82.  
  83. int top_stack(tpila pila)
  84. {
  85. int aux;
  86. if(empty_stack(pila)==true){
  87. aux=-1;
  88. }
  89. else{
  90. aux=pila.datos[pila.cima];
  91. }
  92. return aux;
  93. }
  94.  
628  Programación / Programación C/C++ / Re: Ayuda con juego de adivinar palabras en: 15 Junio 2018, 23:41 pm
Muchas gracias @PiernaDeFelipeCamiroaga, era lo que me faltaba  ;-)
629  Programación / Programación C/C++ / Re: Ayuda con mi codigo quiero verificar si un numero es palindrome porfa y gracias en: 15 Junio 2018, 23:38 pm
Puedes invertir el numero utilizando recursividad y comprobando si el numero que ingresaste es igual al valor de retorno de la funcion recursiva , en ese caso escribir CAPICUA, caso contrario NO CAPICUA, esto para los numeros numeros enteros no hace falta que sea una cadena.

funcion invertir(n: entero, r: entero) : entero
si(n==0)
invertir <-r;
sino
r*=10;
r+=n%10;
invertir<- invertir(n/10, r);

inicio
numero, resultado=0 : entero
escribir "Ingrese numero:"
leer(numero)
si(numero==invertir(numero,resultado)
escribir ("CAPICUA")
sino
escribir ("NO CAPICUA")
finsi
fin

Bueno si quieres con cadenas aca te dejo tu codigo modificado

Código
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. void LeerCadena(string &c)
  7. {
  8.   cout << "Ingrese numero: ";
  9.   cin >> c;
  10.   // para no ingresar se usa la cadena ejemplo
  11.   //strcpy(cad,"Sigue las ultimas noticias de #Cuenca, #Ecuador y el Mundo en @eltiempocuenca #marcandodiferencia @IGecuador\0");
  12.  
  13. }
  14. void Palindrome (string c)
  15. {
  16.      string aux;
  17.      int j=c.length()-1;
  18.      aux=c;
  19.   for(int i=0;i<c.length();i++){
  20.   if(c[i]!=aux[j]){
  21.                        break;
  22.  }
  23.  j--;
  24. }
  25.   if (j==-1)
  26.   {
  27.      printf("\n El numero es palindrome");
  28.   }
  29.   else
  30.   {
  31.      printf ("\n El numero no es palindrome");
  32.   }
  33. }
  34. int main ()
  35. {
  36.   string c;
  37.   LeerCadena (c);
  38.   Palindrome(c);
  39. }
  40.  
630  Programación / Programación C/C++ / Re: Ayuda, Arreglo de estructuras en: 14 Junio 2018, 04:41 am
No se lo que hay que hacer xd

Código
  1. #include <stdio.h>
  2. typedef struct beta{ float n, m, d;}dat;
  3. typedef dat alfa[3];
  4. double func(dat* x){return x[0].m;}
  5. double ff(alfa x){return x[2].m;}
  6. int main()
  7. {
  8.    dat gama[3]={{3,5,4.5},{6,7.0},{23,6.7}};
  9.    printf("%.2lf\n",func(gama));//imprime 7.0
  10.    printf("%.2lf\n",ff(gama));//imrpime 6.7
  11.    return 0;
  12. }
  13.  
Páginas: 1 ... 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 [63] 64
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines