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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 119 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 ... 161
1331  Programación / Programación C/C++ / Re: [AYUDA] piramide en c++? en: 20 Abril 2016, 12:18 pm
Os propongo un ejecicio:
Realizar la figura que se muestra a continuación en el ejemplo.
El programa debe aceptar un entero que representa la altura de los triangulos pequeños que forman el total.
Así, con la entrada de un 5 se consigue:
Código:
         *
        ***
       *****
      *******
     *********
    *         *
   ***       ***
  *****     *****
 *******   *******
********* *********

Con una entrada de un 3:
Código:
     *
    ***
   *****
  *     *
 ***   ***
***** *****
1332  Programación / Programación C/C++ / Re: ¿Direccion del apuntador de un arreglo? en: 18 Abril 2016, 12:53 pm
cadena es un objeto que devuelve la dirección de inicio del array al que representa, es recir, tanto si se lo das a printf con %p, que imprime direcciones de memoria, te tiene que dar lo mismo ya que cadena y &cadena son equivalentes:  los dos devuelven la dirección del primer elemento del array.
1333  Programación / Programación C/C++ / Re: [C] char * vs char [] en: 17 Abril 2016, 17:04 pm
Un puntero es una variable más y sigue las mismas reglas que todas las variables.
1334  Programación / Programación C/C++ / Re: [C] char * vs char [] en: 17 Abril 2016, 16:21 pm
La pila tiene registros dedicados en la CPU e instrucciones en su repertorio para su manejo, lo que la hace rápida en su acceso. Pero debido a su naturaleza, está pensada para el manejo de las funciones, la pila se va moviendo arriba y abajo. Allí se guardan las variables locales de las funciones, llamadas automáticas. Cuándo una función termina y regresa el registro que marca el final de la pila regresa al punto en que estaba antes de llamar a dicha función, todo lo que había de ésta desaparece. Como puedes ver no se pueden guardar datos que trasciendan a la vida de las funciones, como las constantes.
Por otra parte grandes estructuras, arrays y clases, si se guardan en la pila, para moverlos entre funciones se gasta una gran cantidad de tiempo ya que hay que copiar su contenido una y otra vez, para eso se guardan en el montón (heap), así solo se copia un puntero, que al fin y al cabo es del tamaño igual a la palabra del procesador y por ende el objeto que más rápido se copia.
1335  Programación / Programación C/C++ / Re: Reloj c++ en: 17 Abril 2016, 16:03 pm
La palabra clave inline hace lo mismo, lo que en ese caso la definición de la función puede hacerse en el archivo .cpp
1336  Programación / Programación C/C++ / Re: [C] char * vs char [] en: 17 Abril 2016, 15:59 pm
Tienes razón.
Donde dice: Una cosa curiosa es que si dos arrays distintos los inicializas en el código
Debe decir: Una cosa curiosa es que si dos punteros distintos los inicializas en el código
1337  Programación / Programación C/C++ / Re: Calcular Indice Estudiantil en: 17 Abril 2016, 10:15 am
Las operaciones entre enteros da resultado entero. Convierte uno de los operandos en real, mediante un cast,  multiplicándole 1.0 o cambiando su tipo de int a float y la división te devolverá un real.
1338  Programación / Programación C/C++ / Re: Reloj c++ en: 17 Abril 2016, 09:45 am
Los que se implementan dentro de la clase se convierten en métodos inline. Cada vez que el compilador encuentra uno no hace una llamada a ese método, sino que copia todo el código en ese lugar.
Por tanto los métodos inline se usan para hacer pequeños trabajos muy repetidos ya que no hay que perder tiempo llamándolos. Nótese que si el método inline es grande el código final va a crecer mucho, además por lo que es coste de tiempo en llamarlo al del tamaño del código objeto, a lo mejor, no compensa.

El implementarlo fuera sigue la filosofía de separar la declaración de la definición. Así la declaración va en un archivo de cabecera que puede pasarse al archivo de código que sea necesario. Mjentras tanto tienes por otra parte las definiciones en un código objeto que el enlazador te va a unir en último momento.
Esto te da la ventaja de reducir el tiempo de compilación porque sólo debes compilar el archivo que se ha cambiado y no todo el código.

Por cierto, no resucites hilos antiguos. Estaría mejot si iniciaras uno nuevo para la cuestión.
1339  Programación / Programación C/C++ / Re: Problema al pasar char* como parametro en: 17 Abril 2016, 02:00 am
De nuevo te repito: Una vez que usas un puntero C pierde la pista al dato al que apunta. Tal y como te dice ivancea96 puedes crearte un tipo de dato que contenga un array y su tamaño o creas una función como la siguiente:

Código
  1. int arraylen(size_t type_length, size_t array_length) {
  2.    return array_length / type_length;
  3. }

Y lo llamas así:

Código
  1. int array[] = {1, 2, 3, 4, 5};
  2. int n = arraylen(sizeof(int), sizeof array);
  3.  
1340  Programación / Programación C/C++ / Re: Problema al pasar char* como parametro en: 17 Abril 2016, 01:19 am
En tu función charlen has ocultado identificador x que nombra el array, por lo que dentro de la función éste ya no se ve.
Realmente lo que te he dicho es falso pues el array x en el momento de la definición de la función no existe así que es imposible que C sepa el tamaño de éste.
Para que el programa funcione debes hacer los siguientes cambios.

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. // Global variables
  5.  
  6. char x[]={'H','A','R','D','F','O','R','O'};
  7. const char *y = "HARDFORO";
  8.  
  9. int charlen(){
  10. return sizeof(x) / sizeof(x[0]);
  11. }
  12.  
  13. int main(void){
  14.  
  15. int i;
  16.  
  17.  
  18. for (i=0;i<charlen();i++)
  19. printf("%c",x[i]); // HARDFORO
  20.  
  21.    putchar('\n');
  22.  
  23. for (i=0;i<strlen(y);i++)
  24. printf("%c",y[i]); // HARDFORO
  25. }
Páginas: 1 ... 119 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 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines