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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 [135] 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 ... 401
1341  Programación / Programación C/C++ / Re: NeuN textbox de respuesta// formula cuadratica en: 17 Abril 2016, 00:55 am
Esa operación está mal planteada. Tienes que poner paréntesis.
Actualmente tienes esto:
Código:
-b +        (   (sqrt(b*b-4*a*c) / 2)    *a)

Y quieres lograr esto:
Código:
(-b + sqrt(b*b-4*a*c) ) / (2*a)

Ahora hay 2 problemas: no hay raiz cuadrada de números negativos, que ha de ser el problema que tenías, y no se divide entre 0.

Así que:
-Si a y b son 0, error.
-Si a es 0 y b no, como dijo boctulus: -c/b
-Si b es 0 y a no: sqrt(-c/a), comprobando que -c/a sea positivo o cero.
-Si a y b son distintos de 0, la fórmula, salvo que b*b-4*a*c sea negativo, en tal caso error.
1342  Programación / Programación C/C++ / Re: Problema al pasar char* como parametro en: 17 Abril 2016, 00:36 am
En C/C++ hay 2 tipos de arrays: los estáticos y los dinámicos, por así decirlo.
"char str[ 10 ]" sería  estático, es una variable de 10 bytes,
"char *str" sería dinámico, y realmente no es un array, sino un puntero a char.

Cuando le pasas un array estatico a la función, lo interpreta como simplemente un puntero. El tamaño de un puntero es de 4 bytes, y el tamaño de un char es de 1 byte (por lo general).
Así pues, 4/1 = 4. Ahí tu resultado, totalmente real.

Solo hay 2 formas reales de saber el tamaño de una cadena: o pasándoselo a las funciones (evidentemente, funciona siempre), o contando caracteres hasta encontrar un caracter nulo ('\0', funciona solo con cadenas de texto, no para binarias).
strlen lo que hace es contar hasta el caracter nulo.
1343  Programación / Programación C/C++ / Re: cual es el mejor ide para programa en c++? en: 16 Abril 2016, 21:30 pm
Lo tienes también en Settings -> Editor -> Margins and caret.
Tienes para cambiar tipo, anchura, color y frecuencia de parpadeo.
1344  Programación / Programación C/C++ / Re: Classes em Ficheiros en: 16 Abril 2016, 20:21 pm
Código
  1. #include "MyClass.h"
  2. #include "MyClass.cpp"

Solo haz include del .h.

Los .cpp se compilan a parte.

¿Tienes un proyecto o compilas cada archivo por separado?

La compilación en este caso, va así:
Código:
test.cpp -> test.o
MyClass.cpp -> MyClass.o
test.o + MyClass.o -> test.exe

"Undefined reference" significa que no encuentra la clase en los ".o". Lo más probable es que estés haciendo:
Código:
test.o -> test.exe :: Error: falta MyClass

No sé como compilas, ni que IDE o editor usas, así que no puedo decir más.
1345  Programación / Programación C/C++ / Re: cual es el mejor ide para programa en c++? en: 16 Abril 2016, 20:14 pm
El corrector ortográfico en Settings -> Editor -> SpellChecker (abajo del todo).

1346  Programación / Programación C/C++ / Re: Copiar vectorr 2D en: 16 Abril 2016, 19:27 pm
Un vector tiene internamente un array, memoria dinámica de tamaño fijo.

Suponte que tuviera un array de 1 elemento. Cuando haces un push_back, tiene que reservar memoria para 2 elementos, luego copiar lo anterior junto al valor nuevo, y liberar la memoria antigua.

Si tiene un array de 100 elementos, y haces push_back, tendrá que copiar 100 elementos.

Si le das un tamaño fijo, te ahorras todas esas copias.


Edito: Cabe decir que esto es en la teoría. En la práctica, en vez de reservar de 1 en 1 por cada push_back(), se suele reservar más, ya sea de N en N, o de otros modos, para evitar en lo posible este problema de eficiencia.

Edito de nuevo:
Código
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. class T{
  7. public:
  8. T(){cout << 'a';}  // Constructor
  9. T(const T&){cout << 'b';}  // Constructor de copia
  10. T(const T&&){cout << 'c';}  // Constructor de movimiento
  11. };
  12.  
  13. int main( void ){
  14. vector<T> v;
  15. for(int i=0; i<10; i++){
  16. v.push_back(T());
  17. cout << v.capacity() << endl;
  18. }
  19. }

Y su salida es:
Código:
ac1
acb2
acbb4
ac4
acbbbb8
ac8
ac8
ac8
acbbbbbbbb16
ac16
1347  Programación / Programación C/C++ / Re: Copiar vectorr 2D en: 16 Abril 2016, 19:14 pm
Código
  1. mpNetMasse.resize(m.size());
  2. for(size_t i(0); i<m.size(); i++) {
  3.    mpNetMasse[i].resize(m[i].size());
  4.    for(size_t j(0); j<m[i].size(); j++) {
  5.        mpNetMasse[i][j] = new Masse (m[i][j]);
  6.    }
  7. }

Si le das un tamaño inicial, ahorras bastante (aunque quizás nos e note, vaya)

Sino, con push_back:
Código
  1. for(size_t i(0); i<m.size(); i++) {
  2.    mpNetMasse.push_back(std::vector<Masse*>());
  3.    for(size_t j(0); j<m[i].size(); j++) {
  4.        mpNetMasse[i].push_back(new Masse (m[i][j]));
  5.    }
  6. }
1348  Programación / Programación C/C++ / Re: cual es el mejor ide para programa en c++? en: 16 Abril 2016, 19:08 pm
Insisto, hay una opción para que el tamaño de la barra izquierda sea dinámico (por no decir que se lo puedes fijar tú a N dígitos).
Settings -> Editor -> Margins and caret -> Left Margin
1349  Programación / Programación C/C++ / Re: cual es el mejor ide para programa en c++? en: 16 Abril 2016, 17:57 pm
+1 a Code::Blocks. Simple, con manejo de proyectos, y plugins.

Cita de: boctulus
CodeBocks es medio "basura", cuando agrandas el codigo los numeros de linea del costado empiezan a comerse toda la pantalla y tiene otros problemas grandes de interfaz

Mucho tienes que agrandar, y es muy poco lo que come ._.
Ten en cuenta que en opciones, le puedes marcar cuanto margen hay.

Y en cuanto a problemas de interfaz, nunca tuve.

Cita de: DeviiAC
utilice codeblock un tiempo pero cuando hay un error solo muestra la linea del error
y no muestra cual es el error
Abajo tiene varias pestañas. En una de ellas te muestra lso errores resumidos en uan tabla, y en la otra, todo lo que indicó el compilador/linker. El error está completo, con sugerencias y etc (lo que da el compilador, vamos)
1350  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 16 Abril 2016, 17:24 pm
En todo caso:
Código
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4. int main( void )
  5. {
  6.  
  7. // solo como control adicional
  8.  time_t tiempo1 = time(0);
  9.  struct tm *tini = localtime(&tiempo1);
  10.  char output[128];
  11.  
  12.  
  13.  strftime(output,128,"%d/%m/%y %H:%M:%S",tini);
  14.  printf("%s\n",output);
  15.  
  16. // programa
  17. for(int i=0; i<1000000000; i++ ){
  18. }
  19.  
  20.  time_t tiempo2 = time(0);
  21.  struct tm *tfin = localtime(&tiempo2);
  22.  strftime(output,128,"%d/%m/%y %H:%M:%S",tfin);
  23.  printf("%s\n",output);
  24.  
  25. return 0;
  26. }

Si llamas a time() al principio 2 veces, serán iguales.
Páginas: 1 ... 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 [135] 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 ... 401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines