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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Duda al cerrar un archivo que fclose no pudo cerrar. - en: 1 Marzo 2017, 19:45 pm
Buenas noches,tras haber leído el tema te dejo una solución a tu dilema,espero que con esto te ayude.

El código y la explicación :

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc,char **argv){
  5. char frase[] = "arequito, centro soguero del pais";
  6. FILE *ptrFrase = NULL;
  7.  
  8. if(!(ptrFrase = fopen("frase.txt", "w"))){
  9. printf( "\n Error al abrir %s Para escribir. Finaliza el programa.", frase );
  10. exit(1);
  11. }
  12.  
  13. fprintf(ptrFrase, "%s", frase);
  14. if(fclose( ptrFrase ) == EOF){ /*Fijate que según el link de documentacion "wikilibros.com",se explica que fclose devuelve
  15.                                 0 si se cierra correctamente, y en caso contrario devuelve EOF,por lo que si
  16.                                 devuelve EOF,es cuando se tiene que entrar en este bucle.
  17.                                     Con esto se comprueba si falla o no,ya que mostraria la frase de abajo si no hubiera
  18.                                         logrado cerrarlo correctamente.*/
  19. printf( "\n No se ha podido cerrar el fichero\n");
  20. system("PAUSE");
  21. }
  22.  
  23. return EXIT_SUCCESS;
  24. }
  25.  
  26.  

Un saludo.

Anthony.
2  Programación / Programación C/C++ / Re: Constructor de movimiento y asignacion de movimiento en: 1 Marzo 2017, 19:32 pm
Me ha ayudado,muchas gracias por la solución.
Un saludo de antemano.
Anthony.
3  Programación / Programación C/C++ / Constructor de movimiento y asignacion de movimiento en: 24 Febrero 2017, 14:42 pm
Buenas tardes,estoy haciendo una clase sencilla que ilustre como se definen el constructor de movimiento y la asignacion por movimento,pero me da un error tras indicar que no acepta && en el prototipo del constructor de mov.

Código
  1. class Vector
  2. {
  3.    int size;
  4.    double *elementos;
  5.    public:
  6.    Vector(int tam);
  7.    Vector(const Vector& vec);
  8.    Vector& operator =(const Vector& v);
  9.    Vector(Vector&& vec); //Ctor. de mov.   ESTE METODO ME DA ERROR
  10.    Vector& operator =(Vector&& v); //Ctor. de mov. ESTE TAMBIEN
  11.    const double& operator[](const int i)const;
  12.    double& operator [](const int i)const;
  13.    int tam()const;
  14.    ~Vector();
  15. };
  16.  

Por favor que alguien me aclare porque esta este error.
Gracias de antemano.
Un saludo.
4  Programación / Programación C/C++ / Re: como invertir un vector en: 24 Febrero 2017, 14:38 pm
Buenos días, una forma sencilla de hacer ese algoritmo seria :

1º Ordenando el vector.
2º Mostrar los elemenos ordenados.


Codigo:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int i,j,aux,vec[10]={4,6,5,-7,10,20,-30,60,25,15};
  7.    for(i = 0;i<10;i++) //Repetira el bucle interno 10 veces
  8.    {
  9.        for(j = 0;j<10;j++) //Este bucle posicionara al elemento i en el lugar que le corresponderia en la iteracion i.
  10.        {
  11.            if(vec[i]<vec[j]) //Hara un cambio de valores para ir dejando en i elemento menor en la posicion que le corresponde
  12.            {
  13.               aux = vec[i];
  14.               vec[i] = vec[j];
  15.               vec[j] = aux;
  16.            }
  17.        }
  18.    }
  19.    for(i = 0;i<10;i++)        printf(" %d ",vec[i]); //Muestra
  20.    return 0;
  21. }
  22.  
  23.  


Hay varios algoritmos de ordenación,he utilizado el que mejor se suele entender.
Un saludo.
5  Programación / Programación C/C++ / Re: Programa que busca un número en una cifra en: 28 Enero 2017, 18:15 pm
Saludos.

Me pidieron un ejercicio igual que ese en clase hace 1 año,te mostraré el código para ver si te ayuda a aclararte.

Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int main()
  6. {
  7.    int numero=0,propuesto=0;
  8.    printf("Introduzca un numero mayor que cero,y luego uno desde 0 hasta 9 \n el primero sera usado de referencia y el segundo el que se \n busca.\n");
  9.    while(numero<1 || propuesto<1)  scanf("%d %d",&numero,&propuesto);
  10.    while(numero>0)
  11.    {
  12.        if(numero%10 == propuesto)
  13.        {
  14.            printf("El numero pertence a la cifra introducida \n");
  15.            numero = 0;
  16.            propuesto = 0;
  17.        }
  18.        else
  19.            numero = numero/10;
  20.    }
  21.    if(propuesto)  printf("La cifra propuesta no existe en el numero\n");
  22.    return 0;
  23. }
  24.  
  25.  
  26.  

Un saludo.
6  Programación / Programación C/C++ / Re: [C]: Scanf punteros (como si fuese P[i][j]) en: 17 Diciembre 2016, 19:48 pm
En ese caso habría que poner

Código
  1.  scanf("%d",m+i+j);

El compilador a ver que es una variable puntero,la guardaría de forma correcta.

PD: El puntero a enteros datos,
esta para dirigirse a una dirección de memoria que contiene
el entero a utilizar o modificar(o apunta hacia el primer elemento de la matriz).
Espero haberte ayudado.
Un saludo.
Anthony.
7  Programación / Programación C/C++ / Re: ¿Alguien podría ayudarme con este fragmento de código? en: 15 Diciembre 2016, 19:15 pm
Muchas gracias por la respuesta,he terminado haciéndolo de otra forma,pero aun así seguramente vaya a usar tu propuesta en otros código.
Un saludo.
Anthony
8  Programación / Programación C/C++ / Re: Devolver un Array en: 14 Diciembre 2016, 19:34 pm
Para lograr el objetivo que propones,la forma mas habitual es usar el paso por referencia.
Con esto usaremos un vector creado en main y poder variar sus datos en funciones o procedimiento,espero que hayas visto el paso por referencia y como se trabaja con el.Un ejemplo:

C++:

Código
  1. #include <iostream>
  2. using namespace std;  //incluir iostream y esta instruccion son lo mas habitual en c++
  3.  
  4. //Supongamos un procedimiento que trabajara con el vector que le transfiero.
  5. void cambiar_valores(int* vec);  //Recibira la direccion de memoria del primer elemento  
  6.                                              //de vec.
  7. int main()
  8. {
  9. int vector[5]={0,1,2,3,4};
  10. cambiar_valores(vector);   //Se transfiere el vector al procedimiento.
  11. cout<<vector[0]<<vector[1]<<vector[2]<<vector[3]<<vector[4]<<endl;
  12. //Se mostraran los valores cambiados.
  13. return 0;
  14. }
  15.  
  16. void cambiar_valores(int* v) //Al haber paso por referencia,los datos cambiado de                      /                                        //v,permaneceran tras el procedimiento.
  17. {
  18. //Cambio de los valores
  19. v[0] = 100;
  20. v[1] = 200;
  21. v[2]=300;
  22. v[3]=400;
  23. v[4]=500;
  24. }

X--------------------X

Espero haberte ayudado.
Un saludo.
Anthony.[/size]


Mod: Los códigos deben ir en etiquetas GeSHi
9  Programación / Programación C/C++ / Re: Listas y Archivos en C++ en: 14 Diciembre 2016, 19:13 pm

Pues,una manera es hacer un Pila que contenga los elementos(de manera dinamica o pseudostatica) y que esta vaya guardando las puntuaciones de los concursantes.
La biblioteca veector tambien tambien una gran opcion si no deseas implementar.
A la hora de guardar los datos en un archivo txt ,lo mas usual seria emplear la biblioteca fstream y emplear la clase ostream o fstream.
Un saludo.
 Anthony.
10  Programación / Programación C/C++ / ¿Alguien podría ayudarme con este fragmento de código? en: 14 Diciembre 2016, 19:03 pm
Quisiera usar este fragmento,el caso es que necesito implementar esta estructura para cualquier tipo de dato,y usar posicon como un tipo de dato que apunte a nodos que pide el problema.
Gracias de antemano.

Código
  1. template<typename T>
  2. struct nodo
  3. {
  4.    T elemento;
  5.    nodo* anterior;
  6.    nodo* siguiente;
  7.    nodo(const T& contenido,nodo* a=POS_NULA,nodo* b=POS_NULA) :     elemento(contenido),anterior(a),siguiente(b) {};
  8. };
  9.  
  10. template<typename T>
  11. typedef nodo* posicion;
  12.  



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