Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - DickGumshoe

#101
Cita de: fMtQr en 18 Julio 2012, 15:34 PM
No se si acabo de entenderte pero por lo que pides me parece que necesitas utilizar structs, que no se si sabras bien lo que es eso... Te dejo un ejemplo :

typedef struct {
int[5] valencias;
float p_atomico;
...
//definir todas los atributos
} t_elem;

typedef struct {
char[20] nombre_elem;
telem elem[NUMERO_ELEMS];
} t_tabla_periodica;


A partir de aqui acceder a cada elem para realizar las operaciones pertinentes... Tansolo deberias implementar los algoritmos para la busqueda de maximos y minimos (bastante sencillos, si no sabes yo te paso alguno de ejemplo) para que recorran toda la tabla (NUMERO_ELEMS)...

No se si te sirve lo que digo por eso no doy mas detalles...

Cierto, hacerlo con structs es más fácil que como yo se lo he explicado.
#102
Programación C/C++ / Re: Nuevo en C++
18 Julio 2012, 01:28 AM
Hola.

Una buena página para aprender C++ es C++ con clase (disponible en formato .html o .pdf).

También te vendría bien consultar cosas en C Plus Plus

Y por supuesto los libros del foro

Saludos!
#103
Una cosa, ¿has dado memoria dinámica? Es que si no es así, puedes hacerlo sin la función que te he dicho, ya que especifica que debe tener como máximo 20 filas y columnas.

Lo correcto sería hacerlo con malloc, ya que no sabes cuántas filas y columnas va a tener, pero si no lo has dado siempre puedes declarar la matriz como M[20][20].

Saludos, y cualquier duda, pregunta  ;)
#104
Bueno, por lo que veo necesitas memoria dinámica. Para ello, puedes usar la función malloc

Como el límite es 20 filas y columnas, haz un bucle do-while, pidiendo al usuario el número de filas y columnas que desea (n), mientras n <= 20

Para hacer la matriz de forma dinámica, aunque ya te he pasado el link para que veas cómo funciona malloc(), te dejo de todas formas cómo sería:


int** Inicializar(int x, int y) //x es el número de filas; y es el número de columnas
{
int **M, i;
M = (int**)malloc(x * sizeof(int*)); //Inicializamos filas
for(i = 0; i < x; i++)
M[i] = (int*)malloc(y * sizeof(int)); //Inicializamos columnas
return M;
}


Intenta hacer el resto y pregunta todas las dudas que tengas  :D

Saludos!
#105
Me parece que no hay ninguna función que sea igual a replace de VB... De todas formas he buscado aquí y no he encontrado lo que buscas... Así que supongo que la forma más práctica es como lo has hecho.

Saludos!
#106
A ver, fijándonos en la función que puse antes, mi idea es que en la función, todas las variables que se llaman a seguido de un índice sean las características de un elemento, y las que tienen de nombre b seguido de un índice sean las de otro.

Por ejemplo, queremos intercambiar las características del Rutenio y las del Bismuto en el vector. Pues a1 será el peso del Rutenio, y b1 el peso del Bismuto; a2 la masa atómica del Rutenio, y b2 la masa atómica del Bismuto. Así, con tantas características como te hayan indicado que debas intercambiar.

Saludos!
#107
Imagínate que quieres intercambiar dos valores del mismo elemento químico, haces esta función:


void Intercambio(int a, int b){

 int aux;

 aux=a;
 a=b;
 b=aux;

}


Pero resulta que quieres intercambiar los valores, por ejemplo, de peso y masa atómica (son más de un valor para cada elemento). Lo único que tienes que hacer de más es pasarle más parámetros a la función Intercambio():


void Intercambio(int a1, int a2, int b1, int b2){
//Siendo a el primer elemento, a1 el peso, a2 la masa atómica, y b el segundo elemento químico

 int peso, masa_at;

 peso=a1; //Intercambiamos peso
 a1=b1;
 b1=peso;

 masa_at=a2; //Intercambiamos masa atómica
 a2=b2;
 b2=masa_at;

}


Así puedes intercambiar todos los atributos de los elementos que desees, teniendo en cuenta que debes pasárselos como parámetro desde main().

Si tienes dudas pregunta  :)

Saludos!
#108
Imagínate que tienes esta función para intercambiar dos elementos:

void Intercambio(int a, int b){

  int aux;

  aux=a;
  a=b;
  b=aux;

}


Solo puedes intercambiar los elementos, ya que no te da más opciones. Pero podrías probar a pasarle por parámetros a la función el resto de atributos de cada elemento químico, e intercambiar la posición de los vectores peso, masa atómica, valencia, función, etc. con la posición del mismo elemento que intercambias el primer valor.

Espero haberme explicado  :-\

Saludos!
#109
En los if debes usar el operador de comparación ("=="), no es de asignación ('=').

Así:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
float convertircf(float);
float convertirfc(float);

int main()
{
   int convertir(int);
   float farhenheit;
   float celsius;
   int seleccion;

   cout << "|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|" << endl;
   cout << "|           Conversor de temperaturas v1.0               |" << endl;
   cout << "|           ------------------------------               |" <<endl;
   cout << "|                                                        |"<<endl;
   cout << "|                Made By DigitalCarlox                   |"<<endl;
   cout << "|                                                        |"<<endl;
   cout << "|________________________________________________________|\r\r"<<endl;
   cout << "Seleccione una opción\r\r"<<endl;
   cout << "|^^^^^^^^^^^^^^^^^^^^^^^^^|\r"<<endl;
   cout << "|1. Celsius a Fahrenheit  |\r"<<endl;
   cout << "|                         |\r"<<endl;
   cout << "|2. Fahrenheit a Celsius  |\r"<<endl;
   cout << "|_________________________|\r"<<endl;
   cin >> seleccion;

   if (seleccion == 1)
   {
    cout << "\r\rHa escogido Celsius a Fahrenheit.\r";
    cout << "Por favor, introduzca la temperatura en Celsius.\r";
    cin >> celsius;
    celsius = convertircf(farhenheit);
    cout << "La temperatura en Fahrenheit es: ";
    cout << farhenheit << "\r";
                 }
   if (seleccion == 2)
   {
    cout << "\r\rHa escogido Fahrenheit a Celsius.\r";
    cout << "Por favor, introduzca la temperatura en Fahrenheit.\r";
    cin >> farhenheit;
    celsius = convertircf(farhenheit);
    cout << "La temperatura en Fahrenheit es: ";
    cout << celsius << "\r";

                 }
   }
   float convertircf(float celsius)
   {
       float farhenheit;
       farhenheit = ((celsius * 9) / 5) + 32;
       return farhenheit;
       }
   float convertirfc(float farhenheit)
   {
       float celsius;
       celsius = ((farhenheit - 32) * 5) / 9;
       return celsius;
       }


También he puesto en el programa para que hagas saltos de línea (endl), y para que no tengas que poner std:: delante de cin y cout, he puesto using namespace std;

Saludos!

#110
Programación General / Re: programar
17 Julio 2012, 19:57 PM
Te recomendaría empezar por C++.

Yo empecé por C y ahora voy mirando cosas de algunos lenguajes, y, sabiendo C o C++ te costará poco aprender otros lenguajes.

Respecto a Netbeans, lo normal en el mundo de la programación (y de la ciencia en sí) es encontrarte información, programas, etc. que estén en inglés. De hecho, si alguna vez vas a buscar información de calidad, te tendrás que conformar seguramente leyendo en inglés. Y un IDE no es que sea complicado de manejar, ya que son pocas las palabras que tendrás que aprender.

Saludos!