|
101
|
Programación / Programación C/C++ / Re: Matrices en C/C++ Urgente!!!
|
en: 18 Julio 2012, 16:29 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.
|
|
|
103
|
Programación / Programación C/C++ / Re: Ayuda con ARREGLOS MULTIDIMENCIONALES (matrices)
|
en: 17 Julio 2012, 22:38 pm
|
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
|
Programación / Programación C/C++ / Re: Ayuda con ARREGLOS MULTIDIMENCIONALES (matrices)
|
en: 17 Julio 2012, 22:17 pm
|
Bueno, por lo que veo necesitas memoria dinámica. Para ello, puedes usar la función mallocComo 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 filasfor(i = 0; i < x; i++) M [i ] = (int*)malloc(y * sizeof(int)); //Inicializamos columnasreturn M; }
Intenta hacer el resto y pregunta todas las dudas que tengas Saludos!
|
|
|
106
|
Programación / Programación C/C++ / Re: Matrices en C/C++ Urgente!!!
|
en: 17 Julio 2012, 21:35 pm
|
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
|
Programación / Programación C/C++ / Re: Matrices en C/C++ Urgente!!!
|
en: 17 Julio 2012, 21:05 pm
|
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
|
Programación / Programación C/C++ / Re: Matrices en C/C++ Urgente!!!
|
en: 17 Julio 2012, 20:58 pm
|
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
|
Programación / Programación C/C++ / Re: [C++] Problema con conversor de temperaturas
|
en: 17 Julio 2012, 20:46 pm
|
En los if debes usar el operador de comparación ("=="), no es de asignación ('='). Así: #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 / Programación General / Re: programar
|
en: 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!
|
|
|
|
|
|
|