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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 2 [3] 4
21  Programación / Programación C/C++ / Re: Sin metodo burbuja en: 24 Noviembre 2016, 03:09 am
Revisa aqui hay varios metodos de ordenamiento

https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento
22  Programación / Programación C/C++ / Re: Ayuda ejercicio programa equaciones segundo grado sqrt domain error en: 24 Noviembre 2016, 01:03 am
Deben ser declaaradas como float la raiz devuelve deciamles
23  Programación / Programación C/C++ / Re: quisiera saber como haria este codigo // es en c++ en: 20 Noviembre 2016, 03:52 am
Se me ocurre un array bidimensional del tipo char para almacenar letras pero tendría que ser un array bidimensional dinámico ya que el usuario tiene que ingresar el numero de filas y columnas, el texto si podría hacerse con un array estático, pero no lo de las filas y columnas


corre este codigo a ver si es mas o menos lo que buscas

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void creator();
  6.  
  7. int main()
  8. {
  9.  
  10. creator();
  11.    return 0;
  12. }
  13.  
  14. void creator()
  15.  
  16. {
  17.    unsigned int filas,columnas;
  18.    cout<<"Ingrese cantidad de filas= ";
  19.    cin>>filas;
  20.    cout<<"Ingrese cantidad de columnas= ";
  21.    cin>>columnas;
  22.  
  23.    char** ary = new char*[filas]; //crea el espacio en memoria del arrreglo bidimensional
  24.    for(int i = 0; i < filas; i++)
  25.        ary[i] = new char[columnas];
  26.  
  27.  
  28.    for(int i = 0; i < filas; i++)  //llena el arreglo bidimensional en memoria
  29.        for(int j = 0; j < columnas; j++)
  30.        {
  31.            cout<<"Ingrese un char y presione enter= ";
  32.            cin>>ary[i][j];
  33.        }
  34.  
  35.    cout<<"\n\nEl texto es el siguiente= \n";
  36.  
  37.    for(int i = 0; i < filas; i++)  //imprime el arreglo bidimensional
  38.    {
  39.        for(int j = 0; j < columnas; j++)
  40.        {
  41.            cout << ary[i][j];
  42.        }
  43.     cout<<"\n";  //salto de linea cada vez que se termina una linea
  44.    }
  45.  
  46. }

24  Programación / Programación C/C++ / Re: Problema con un ejercicio en c++ en: 20 Noviembre 2016, 03:35 am
Al parecer estas haciendo una serie

Tengo dudas por tu codigo y enunciado si en la primera funcion solo se va devolverve ene entonces esa funcion de tener un parámetro de devolucion tipo int.

Pero en tu codigo veo n,base,potencia y no los puedes devolver todos a la vez una función solo devuelve una salida podrias usar la dirección de la variable pero necesitarías pasarle las direcciones a la funcion y el enunciado te lo prohibe.

Algo esta mal en el enunciado.
25  Programación / Programación C/C++ / Re: Funcion exponencial con desarrollo de Taylor C++ en: 20 Noviembre 2016, 00:41 am
Hola para la exponencial

porque mejor no usas pow(a,b)= a^b deberías incluir cmath

Código
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. double exponencial(double,unsigned long int); //cabecera de la funcion exponencial
  7. int factorial(unsigned long int); //cabezera de la funcion factorial
  8.  
  9.  
  10. int main()
  11. {
  12.    unsigned long int n=0; //nuemro n de la serie
  13.    double x=0; //valor de x
  14.  
  15.    cout<<"Ingrese n=";
  16.    cin>>n;
  17.    cout<<"Ingrese x=";
  18.    cin>>x;
  19.  
  20.    cout<<"Resultado es= "<<exponencial(x,n)<<endl;
  21. }
  22.  
  23. double exponencial(double x,unsigned long int n)
  24. {
  25.    double resultado=0; //varibale para devolver
  26.    for (unsigned int i=0;i<=n;i++) //desde n=0 hasta donde llegue la serie
  27.    {
  28.        resultado+=pow(x,i)/factorial(i);   //uso de la función pow de la libreia cmath se saca esa potencia y con la función factorial se obtiene ese denominador con ese valor de n
  29.    }
  30.    return resultado; //devuelvo valor
  31. }
  32.  
  33. int factorial(unsigned long int i)
  34. {
  35.    unsigned int resultado=1; //valor inicial 1
  36.    if (i==0)  //si es cero se devuelve factoril 1
  37.    {
  38.        return resultado;
  39.    }else     //sino se scaa el factorial
  40.    {
  41.        while(i>1)
  42.        {
  43.            resultado=resultado*i;
  44.            i--;
  45.        }
  46.  
  47.    return resultado;
  48.  
  49.    }
  50. }

26  Programación / Programación C/C++ / Re: Pasar array dinamico por referencia en: 19 Noviembre 2016, 22:57 pm
Hay dos diferencias entre un array dinámico y otro estático, el estático se crea cuando compilas el código y es imposible cambiar su tamaño luego de declararlo, el dinámico se crea cuando estas corriendo el programa y es posible cambiar su tamaño en plena corrida.

EL título de tu tema es array dinámico, así que lo haré con un array dinámico, pero en tu explicación no dice nada sobre arrays dinámicos

//primero declaramos un array dinámico usando apuntadores y la palabra clave "new" que hace la misma funcion que malloc() de C

char *p=new char[10]; //lo que se hizo aqui fue crear un array de tamaño 10, notese que en ningun momento declaro el nombre del array esto es porque new busca una posicion libre de memoria donde crea el array y devuelve el apuntador del primer elemento

//ahora para pasarle un valor por referencia seria algo mas o menos asi ya que que tenemos el apuntador

p[0]="a"; //le pasmos un char
p[1]="b";
//....asi hasta llegar a 9
p[9]="n";

//ya pasamos los valores usando un apuntador al arreglo dinámico que se aloja en memoria mas no en una variable

delete [] p; //liberamos la memoria luego de usar, aqui borramos ese arreglo wipe out
27  Programación / Programación C/C++ / Re: Por que true necesita dos bits para dar 1 logico en: 19 Noviembre 2016, 22:13 pm
Gracias  ;-)

Es magnifico como Internet  puede conectarme con mentes como la tuya en este caso.

De verdad había una explicación lógica para lo que me planteaba
28  Programación / Programación C/C++ / Por que true necesita dos bits para dar 1 logico en: 19 Noviembre 2016, 18:14 pm
Hola he estado jugando con las estructuras para manejar bits, hice este simple programa

Código:
#include <iostream>

using namespace std;

int main()
{
    struct bits
    {
        int byte:1; //un solo bit asignado
        int word:1; //un solo bit asignado
    };

    bits gate1=
    {
        true, //al "objeto" gate1.byte se le asigna 1
        false //al "objeto" gate1.word se le asigna 0
    };
    cout<<gate1.byte<<"\t"<<gate1.word<<endl;
}

Donde el resultado es el siguiente

-1       0

En cambio si aumento el campo de bits de bytea dos asi

Código:
#include <iostream>

using namespace std;

int main()
{
    struct bits
    {
        int byte:2; //dos bits asignados
        int word:1; //un solo bit asignado
    };

    bits gate1=
    {
        true, //al "objeto" gate1.byte se le asigna 1
        false //al "objeto" gate1.word se le asigna 0
    };
    cout<<gate1.byte<<"\t"<<gate1.word<<endl;
}

Donde el resultado es el siguiente

1       0

Notese la diferencia de signo del 1,alguien me podría dar una explicación a esto, ya que true solo tomo el valor de 1 no deberia ser suficiente con solo asignarle un bit para hacerlo.
29  Programación / Programación C/C++ / QT Creator C++, importar valor de lineEdit a funcion en una nueva clase en: 18 Noviembre 2016, 20:51 pm
Hola podría alguien ayudarme a hacer esto, imporar el valor de un lineEdit a una función en una nueva clase.

He creado una nueva clase con la ayuda de QT Creator llamada Ag y me añdio los archivos .h .cpp

ag.h
Código:
#ifndef AG_H
#define AG_H

#include <QMainWindow>
#include <QObject>
#include <QSharedDataPointer>
#include <QWidget>

class AGData;

class AG
{
public:
    AG();
    AG(const AG &);
    AG &operator=(const AG &);
    ~AG();
void genetic::fitness()

private:
    QSharedDataPointer<AGData> data;

};

#endif // AG_H

ag.cpp
Código:
#include "ag.h"

class AGData : public QSharedData
{
public:

};

AG::AG() : data(new AGData)
{

}

AG::AG(const AG &rhs) : data(rhs.data)
{

}

AG &AG::operator=(const AG &rhs)
{
    if (this != &rhs)
        data.operator=(rhs.data);
    return *this;
}

AG::~AG()
{

}

Ahora añado una función llamada fitness a la clase y unas variables privadas matrix2,i.

En la función fitness hay una variable a esa variable a sería tomada del lineEdit

ag.h
Código:
#ifndef AG_H
#define AG_H

#include <QMainWindow>
#include <QObject>
#include <QSharedDataPointer>
#include <QWidget>

class AGData;

class AG
{
public:
    AG();
    AG(const AG &);
    AG &operator=(const AG &);
    ~AG();
     void fitness();

private:
    QSharedDataPointer<AGData> data;
    unsigned long int i;
    double matrix2[100][3];

};

#endif // AG_H

ag.cpp
Código:
#include "ag.h"

class AGData : public QSharedData
{
public:

};

AG::AG() : data(new AGData)
{

}

AG::AG(const AG &rhs) : data(rhs.data)
{

}

AG &AG::operator=(const AG &rhs)
{
    if (this != &rhs)
        data.operator=(rhs.data);
    return *this;
}

AG::~AG()
{

}

void AG::fitness(){
    for (i=0;i<100;i++){
        matrix[i][1]=a*100;
    }

}

Tengo dudas de como introducir ese valor en mi clase no se como usar un apuntador a esa varible, ademas no se si tengo que darle datos de entrada a la funcion como void fitness(double a);

De verdad le he estado dando vueltas y revisado por Internet pero no encuentro como.
30  Programación / Programación C/C++ / Re: C++ puntero a arreglo bidimensional parar imprimir contenido en: 18 Noviembre 2016, 20:25 pm
Gracias si tenias razon ,muchas gracias por responder.
Páginas: 1 2 [3] 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines