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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 161
71  Programación / Programación C/C++ / Re: Ayuda con función setw() en: 2 Diciembre 2021, 19:49 pm
Y da formato al código. Si vas a presentarlo a alguien, aún sea pidiendo ayuda, formatea el código. Da pereza, es un bloque sin separaciones, sin indexado.
72  Programación / Programación C/C++ / Re: Código para mostrar el MENOR Nro en una Pila : Duda en: 24 Noviembre 2021, 10:30 am
Comparas y haces la pregunta:
¿Diez es menor que diez?
El programa te responde: No, por lo que no hago el cuerpo del if y ejecuto directamente pila.pop();
La siguiente iteración comparas y preguntas:
¿Tres es menor que diez?
El programa te responde: Sí, ejecuto el cuerpo del if y escribo en 'menor' el valor actual del top de la pila; después borro ese número del top.
73  Programación / Programación C/C++ / Re: Creacion Matriz nxn Automatica en: 24 Noviembre 2021, 10:13 am
Te lo explico para el ejemplo de 5x5.
Dije:
Citar
¿Qué podrían tener en común los pares
(5, 1)
(4, 2)
(3, 3)
(2, 4)
(1, 5)?

Si te das cuenta:
5+1 = 6
4+2 = 6
3+3 = 6
2+4 = 6
1+5 = 6

Sabiendo que tu vas desde 1 hasta 5, siendo este caso filas = 5
en tu if, dentro del for de j debería poner:
Código:
if(i+j == filas+1) {
    printf("** ");
} else {
    printf("%02d ", j);
}
74  Programación / Programación C/C++ / Re: Creacion Matriz nxn Automatica en: 23 Noviembre 2021, 08:19 am
Sabiendo que los asteriscos van se colocan en (hablamos de una matriz de 5x5):
Fila 1, columna 5;
Fila 2, columna 4;
Fila 3, columna 3;
Fila 4, columna 2;
Fila 5, columna 1.

¿Qué podrían tener en común los pares
(5, 1)
(4, 2)
(3, 3)
(2, 4)
(1, 5)?

Esa respuesta es la que necesita el if para dibujar el número o los asteriscos.
75  Programación / Programación C/C++ / Re: ¿Alguien sabe de alguna funcion "gets" que no imprima el salto de linea final? en: 22 Noviembre 2021, 16:50 pm
Te recomiendo cambiar gets por fgets.

Si no quieres el salto de línea lo mejor es que lo busques y lo borres.

Una solución podría ser:
Código:
#include <string.h> // strchr

// ...

fgets(buffer, MAX_LENGTH, stdin);

// Miro si se capturó el salto de línea con fgets.
char *c = strchr(buffer, '\n');
if(c) {
    // Si se capturó transformo el salto de línea en fin de cadena.
    *c = '\0';
} else {
    // No se capturó, pues aprovecho y borro lo que haya quedado en stdin.
    while(getchar()!='\n');
}



Editado: quitando la parte que recomendaba cambiar de foro por estar mal ubicado.
76  Programación / Programación C/C++ / Re: Usar qsort para guardar en: 31 Octubre 2021, 02:47 am
Para hacerlo con qsort una forma rápida que veo sería hacer un struct con una pareja de datos de cada array y después hacer un array con ellos.

algo así:

Código:
struct par {
   int code;
   char color[10]
};

Despues generas un array de 3 pares con ese struct, metes los datos colores y code, cada uno en la posición que te interese, haces dos funciones de comparación para qsort, una que ordene por code y la otra por color y ya lo tienes.
77  Programación / Programación C/C++ / Re: Ejemplo de virtualización de código con CPU imaginaria en: 27 Octubre 2021, 21:57 pm
Esto me recuerda un proyecto llamado CHIP-8. Un chip virtual con sus especificaciones y con juegos diseñados para él.

Un poco de info sobre ese chip: https://github.com/mattmikolay/chip-8/wiki/
78  Programación / Programación C/C++ / Re: [[RETO]] Funcion para ordenar, extraer e insertar en una pila en: 27 Octubre 2021, 21:40 pm
Hubo un mal entendido entonces.

La cosa es que en este foro nos cuidamos mucho de hacer tareas. Sí, resolvemos dudas y orientamos haciendo snippets o modificando el código de la gente que plantea sus dudas. Pero también hay quien viene pidiendo que se haga una tarea sin mostrar avance alguno o con un código que no muestra que ha intentado atacar el problema. Alguna vez se han lanzado estos retos para divertimento, aunque normalmente desde cuentas que ya llevan un buen tiempo aquí y se sabe que no piden solución a una tarea y se puede confiar que es eso, un juego.

Habría sido mejor acogido el mensaje inicial habiendo explicado lo de que es un ejercicio para tus alumnos, con un enunciado lo más claro posible, tal vez como el que expusiste a tus alumnos y tal vez dando tu solución (si no quieres directamente aquí) mediante un enlace externo como pastebin matando dos pájaros de un tiro (tal vez sería una buena opción si quieres realmente ver códigos de gente de por aquí):

1. Que los moderadores sepan que realmente se trata de un juego.
2. El que quiera participar no verá la solución hasta haber completado la suya.

Espero que no te hayas desanimado y verte más por aquí.
79  Programación / Programación C/C++ / Re: [[RETO]] Funcion para ordenar, extraer e insertar en una pila en: 26 Octubre 2021, 22:36 pm
Entiendo que
Citar
extrayendo los números que son iguales e insertándolos en una pila
quiere decir que a la pila van los números repetidos.
80  Programación / Programación C/C++ / Re: como declaro una variable en un void para que varie? en: 25 Octubre 2021, 13:51 pm
Usa etiquetas GeSHi para insertar el código. Están en la barra de herramientas, en un desplegable, cuando estás escribiendo un post o una respuesta. (Para moderadores y webmaster: Sería mejor cambiar el texto Código GeSHi por algo más intuitivo como 'Elige lenguaje...' o 'Color syntax...'.

AXA, ¿qué estás usando para aprender C?

Veo main sin tipo o main con tipo void... Normalmente un libro o tutorial (de C moderno, no el pre-ansi) te dice que main es de tipo int y hay que marcarlo explícitamente.

También debes tener en cuenta la precedencia de operadores:
Código:
*i2.i1=i3;
estás dereferenciando i1, no i2.
Una pequeña prueba de ello:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct st {
  5. int *miembro;
  6. };
  7.  
  8. int main() {
  9. struct st mi_estructura;
  10. mi_estructura.miembro = malloc(sizeof(int));
  11. *mi_estructura.miembro = 20;
  12.  
  13. printf("%d\n", *mi_estructura.miembro);
  14.  
  15. free(mi_estructura.miembro);
  16. }
Por tanto debería ser así:
Código:
(*i2).i1=i3;
Aunque en C tienes el operador flecha que te limpia el código:
Código:
i2->i1=i3;

Por tanto el código último que has puesto, solucionados estos pequeños fallos y poniendo nombres representativos en los identificadores, quedaría algo así:
Código
  1. #include <stdio.h>
  2.  
  3. struct st {
  4. int miembro;
  5. };
  6.  
  7. void inicializa_a_20(struct st *una_estructura) {
  8. una_estructura->miembro = 20;
  9. // alternativa:
  10. // (*una_estructura).miembro = 20;
  11. }
  12.  
  13. int main() {
  14. struct st mi_estructura;
  15. inicializa_a_20(&mi_estructura);
  16. printf("%d\n", mi_estructura.miembro);
  17. }
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines