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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9
51  Programación / Programación C/C++ / Re: Ayuda para comparar una cadena con el nombre de una variable int en: 6 Marzo 2011, 16:37 pm
Buenas,
Código
  1. if(t1= atoi(t_borrar)){
  2.                    t1=0;
  3.                }

si pones una asignación en la condición del if, se va a cumplir siempre. Además si t_borrar sólo la usas para compararla con enteros ¿por qué no la declaras cómo un entero? así te ahorras los atoi.

Saludos!
52  Foros Generales / Foro Libre / Re: Saludos desde el Hades en: 27 Febrero 2011, 05:43 am
http://es.wikipedia.org/wiki/Julepe
53  Programación / Programación C/C++ / Re: [Ayuda] Problema un poco sonso al intercambiar un puntero por otro. en: 12 Febrero 2011, 12:56 pm
Buenas,

para reservar y liberar memoria en c++ tienes new y delete.

No se modifica fuera de la función porque new y old son copias, lo que estas pasando por referencia son las direcciones a la memoria reservada para la cadena, no a los punteros que es lo que tu intentas modificar en la función, como puedes comprobar si modificas así el programa:

 
Código
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<cstring>
  4.  
  5. using namespace std;
  6.  
  7. void* setnewptr( void *old , void *New);
  8.  
  9. int main() {
  10.    char *c_pstr = NULL;
  11.    char *c_str = (char*)malloc(sizeof(char)*10);
  12.    strcpy(c_str , (const char*)"Hola");
  13.    cout << (char*)setnewptr( c_pstr , c_str );
  14.    c_pstr=(char *)setnewptr(c_pstr,c_str);
  15.    cout << c_pstr << endl;
  16.    return 0;
  17. }
  18.  
  19. void* setnewptr( void *old , void *New)
  20. /**
  21.     Libera a [*old] si apunta a algo y le establece [*New];
  22.     By BlackZeroX ( http://Infrangelux.sytes.net/ )
  23. **/
  24. {
  25.    if ( old != NULL )
  26.        free (old);
  27.    return old=New;
  28. }
54  Sistemas Operativos / Unix/Unix-Like / Re: ¿Sobre que están basados los primeros UNIX/LINUX? en: 11 Febrero 2011, 19:04 pm
quiero saber como fueron capaces de hacer enterder a una mauqina hardware procesar software.

No es como si el hardware existiese por si sólo de una forma mágica y luego alguien dijese vamos a enseñar al hardware a correr software. Al diseñar hardware, en este caso los procesadores, tienes que pensar que quieres que sea capaz de hacer y crearlo a partir de esas premisas. Un procesador simple por ejemplo puede realizar varias opraciones aritmeticas, leer y escribir en memoria... el software lo único que hace es usar estas capacidades y combinarlas para realizar otras tareas más complejas.


El ordenador en el que hicieron el primer S.O. es anecdotico, podría haber sido cualquiera y sobre a que sistema tenía... ninguno, de otra forma no hubiese sido el primero.

Te recomiendo este libro http://books.google.com/books?id=d1_hgqTxJpQC&lpg=PP1&dq=estructura%20de%20computadores&hl=es&pg=PP1#v=onepage&q&f=false
55  Foros Generales / Dudas Generales / Re: Ayuda, matemáticas,equación de primer grado. en: 3 Febrero 2011, 13:54 pm
Buenas,

revisa los signos al quitar los parentesis.

Saludos!
56  Sistemas Operativos / GNU/Linux / Re: ¿ Como funciona el registro de faillog ? en: 1 Febrero 2011, 00:05 am
Buenas,

si únicamente quieres saber los accesos fallidos en el sistema lo más sencillo es invocar faillog desde la consola, si existen te mostrara los intentos fallidos, si no existen siempre puedes ejecutarlo con el parámetro -a y te mostrará el registro para todos los usuarios.

De lo que pongo a continuación no estoy seguro:

faillog utiliza la siguiente estructura

Código:
        struct  faillog {

                short   fail_cnt;
                short   fail_max;
                char    fail_line[12];
                time_t  fail_time;
        };

que haciendo cuentas serían 20 bytes.
Y así es como muestra el comando los datos (como ves los campos suelen estar a 0):

Código:
cda@summer:~$ faillog -u root
Usuario     Fallos Máximo Último                   Activo

root            0        0   01/01/70 01:00:00 +0100

Espero haber sido de ayuda.
Saludos!
57  Programación / Programación C/C++ / Re: Dos Ejercicios en C en: 22 Enero 2011, 07:57 am
A simple vista se ven un par de errores en el segundo ejercicio; por ejemplo el acumulador res5 debes inicializarlo a 1, o la variable cont que no esta inicializada ni es incrementada.

Saludos!
58  Programación / Programación C/C++ / Re: Ayuda con ejercicio en: 21 Diciembre 2010, 01:12 am
Citar
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/////////PROGRAMA PRINCIPAL/////////

int main(int argc, char* argv[]){



FILE *pm;
char lineafile [2048];
char linea [100][2048];
int n;
int c;
pm = fopen(stdin,"rt"); // aquí tienes que abrir fich1, rt es un parámetro válido para fopen?
while(fgets(lineafile,2048,pm)!=NULL){ // el while hace el bucle un numero de veces = a las lineas
for(n=0;n<=2048; ++n){                        // por lo que el bucle for se ejecuta siempre 2048 * 4, además
strcpy(linea[n],lineafile);                      // únicamente tienes 100 lineas no 2048...
}
}
for(c=2048;c>=0;--c){                   //lo mismo en el número de lineas la matriz tiene 100
printf("%s\n",linea[c]);                  //sin embargo solo de debe ejecutar el número de lineas copiadas
}
fclose(pm);
}


Por lo que quedaría más o menos así

Citar
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/////////PROGRAMA PRINCIPAL/////////

int
main ()
{

  FILE *pm;
  char lineafile[2048];
  char linea[100][2048];   
  int n = 0;
  int c;
  pm = fopen ("fich1", "rt");
  while (fgets (lineafile, 2048, pm) != NULL) //así el bucle se ejecuta únicamente el número de veces
    {                                                               //que copia linea
      strcpy (linea[n], lineafile);
      n++;                                                      /en n contamos el número de lineas
    }
  fclose (pm);
  for (c = n; c >= 0; c--)                           //así podemos imprimir únicamente lo necesario
    {
      printf ("%s", linea[c]);
    }
return 0;}



Espero haberte sido de ayuda, a ver que tal se te da implementarlo con memoria dinámica.


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
59  Programación / Programación C/C++ / Re: que quiere decir este ejercicio?[c] en: 15 Diciembre 2010, 15:43 pm
No hace falta que almacenes los números, con una variable para el número máximo inicializada a 0 (suponiendo que hablamos de numeros naturales), otra para el número mínimo inicializada al máximo (máximo de int, por ejemplo) y una variable temporal para almacenar el número introducido, haces un bucle infinito (o para la cantidad de números que quieras leer) con algún escape y en cada iteración comparas el número escaneado con el máximo y el minimo; si procede sustituyes la que toca.
60  Programación / Programación C/C++ / Re: Duda sobre el ejercicio del palindromo. en: 14 Diciembre 2010, 01:40 am
Buenas,

te voy a dar un consejo, si haces los incrementos (y decrementos) al final de los bucles, te vas a evitar hacer cálculos raros con los índices. No he probado a compilar el código pero así a simple vista diría que no funciona porque no comparas los elementos del vector entre si. Pasas de la memoria reservada para este ya que antes de empezar las comprobaciones no inicializas el índice. Además las lineas de comprobación están fuera del bucle. También deberías salir del bucle a la primera que la variable res adquiera el valor 0, porque luego se puede sobreescribir el resultado y quedaría falseado (y así ya de paso te ahorras las operaciones res=1). Y para finalizar te recomiendo empezar a usar punteros para este tipo de problemas. También es muy probable que me haya saltado cosas :-D.

Saludos!
Páginas: 1 2 3 4 5 [6] 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines