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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ... 161
411  Programación / Programación C/C++ / Re: Interprete de ensamblador a C en: 14 Julio 2018, 17:16 pm
No, empiezas muy mal. Es como querer ser arquitecto y empiezas a leer planos. A parte de ver un montón de rayas y vislumbrar en ellas una columna aquí y un arco allá no verás nada más.
Detrás están todos los cálculos de cargas, resistencias de materiales, composición del forjado y del hormigón. Es decir: el código fuente, como un plano de una obra, es un resultado de todo un largo estudio que hay detrás.
Y ya si hablamos del kernel de un sistema operativo estamos hablando de temas mayores: manejo de memoria, interrupciones, asignación de tiempos de procesado, drivers, APIs.

Fíjate si tienes muchas cosas que aprender antes siquiera de empezar a ponerte delante de tu editor de código favorito.
412  Programación / Programación C/C++ / Re: Llenar matriz de estructuras con punteros en c en: 12 Julio 2018, 20:36 pm
Hice este programa de prueba para abordar el problema
Código
  1. #include <stdio.h>
  2.  
  3. int **dato;
  4.  
  5. void f(int **dato, int max_fila, int max_columna) {
  6.    for(int i=0; i<max_fila; ++i) {
  7.        for(int j=0; j<max_columna; ++j) {
  8.            dato[i][j] = (i+1)*(j+1);
  9.        }
  10.    }
  11. }
  12.  
  13. void g(int **dato, int max_fila, int max_columna) {
  14.    for(int i=0; i<max_fila; ++i) {
  15.        for(int j=0; j<max_columna; ++j) {
  16.            printf("%d\n", dato[i][j]);
  17.        }
  18.    }
  19. }
  20.  
  21. int main() {
  22.    int fila = 5;
  23.    int columna = 3;
  24.  
  25.    dato = malloc(fila*sizeof(int*));
  26.    for(int i=0; i<fila; ++i)
  27.        dato[i] = malloc(columna*sizeof(int));
  28.  
  29.    f(dato, fila, columna);
  30.    g(dato, fila, columna);
  31. }

Y funciona perfecto. Después, regresando a tu código he visto otra cosa:
Código:
TABLE_TMS[i].NOM_ARCHIVO = PCB;
siendo PCB un const char*, argumento de la función. Esto podría dar error si se libera PCB de forma automática o manual. ¿Hace falta usar strdup?
413  Programación / Programación C/C++ / Re: Llenar matriz de estructuras con punteros en c en: 12 Julio 2018, 12:28 pm
No sé cómo has declarado el dato Pagina **paginas fuera de la función.
Si es un array de dos dimensiones el argumento de la función debe ser un array de dos dimensiones donde obligatoriamente la de más a la derecha debe estar definida. Es decir:
Si has declarado el array en main() o dónde sea como
Código:
Pagina paginas[MARCOS][PAGINAS];
El argumento de la función debe ser
Código:
int* Escribir_swap( ..., Pagina paginas[][PAGINAS], ...) {
414  Programación / Programación C/C++ / Re: Llenar matriz de estructuras con punteros en c en: 12 Julio 2018, 04:25 am
El problema podría estar en la forma de tratar el argumento de la función Pagina **Paginas. Es un puntero a puntero por tanto toda información del tamaño de las dimensiones ha desaparecido, sólo se conoce el tamaño del tipo de dato. Esto hace que al usarlo como matriz en Paginas[i][j] el programa no sepa cuántos bytes deba saltar por cada incremento de i.
415  Programación / Programación C/C++ / Re: Problemas limitando caracteres en el ingreso en: 11 Julio 2018, 14:05 pm
Prueba con cin.ignore() o cin >> ws o while(getchar!='\n')
416  Programación / Programación C/C++ / Re: como llenar un array y leer sus elementos en: 9 Julio 2018, 14:56 pm
Tienes lo mismo unos cuantos posts más abajo:
https://foro.elhacker.net/programacion_cc/obtener_el_numero_maximo_y_el_numero_minimo_de_matriz_aleatoria_c-t485423.0.html
417  Programación / Programación C/C++ / Re: Problemas limitando caracteres en el ingreso en: 9 Julio 2018, 11:17 am
Pues esto te funcionará en pocos sitios: como hemos dicho muchas veces el fflush, dice el estándar, solo está asegurado para flujos de salida. Para los flujos de entrada, como stdin, es a libre albedrío del creador del compilador que funcione.
418  Programación / Programación C/C++ / Re: Alguien sabe porque el espacio me ocupa 2 lugares? en: 9 Julio 2018, 04:43 am
Una cadena siempre termina con el carácter \0, así que una cadena literal generada con comillas dobles tiene ese carácter al final que el compilador agrega automáticamente. También es la razón por lo que hay que agregar un carácter más a los arrays que realmente serán cadenas.

Un simple carácter de comillas simples no es una cadena, porque le falta el carácter de fin de cadena, y porque la variable que lo aloja no es un escalar entero, es decir, no es array ni puntero.
419  Programación / Programación C/C++ / Re: Ayuda con algoritmo recursivo y fflush(stdin) en: 5 Julio 2018, 00:10 am
Sí, o cin >> ws para eliminar los espacios en blanco. Hay unas cuantas formas de hacerlo.
420  Programación / Programación C/C++ / Re: Ayuda con algoritmo recursivo y fflush(stdin) en: 4 Julio 2018, 23:27 pm
En lo referente a fflush(stdin): el estándar dice que fflush solo es para flujos de salida así que depende del compilador que funcione o no. Cómo norma general no deberías usarlo.

En cuanto a la recursividad: sí, está bien hecha. Tiene una condición de parada, una llamada que actualiza un estado para que active la condición de parada en el momento oportuno y un trabajo a cumplir.

Lo que hace es escribir en pantalla: Entrando en el sueño del suelo... repitiendo tantas veces del sueño como se hayan indicado en el argumento de llamada.

Por cierto, no destroces el lenguaje con x y e. El español es un de los lenguajes más ricos que existen.
Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines