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 ... 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 [107] 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 ... 161
1061  Programación / Programación C/C++ / Re: Consulta sobre ejercicio basico en C? en: 12 Diciembre 2016, 20:29 pm
Lo que quiere decir engel lex es que b es un double y esto hace promocionar a a a double, por tanto el resultado de la división es un valor double. Este resultado, un double, pasa a ser operando del módulo, pero el operador módulo en C solo acepta enteros.
1062  Programación / Programación C/C++ / Re: Ayuda con ejercicio basico en C en: 12 Diciembre 2016, 01:14 am
Correcto, me faltaron los paréntesis.
1063  Programación / Programación C/C++ / Re: Ayuda con ejercicio basico en C en: 11 Diciembre 2016, 20:06 pm
En realidad C solo obvia la primera dimensión y transforma la firma a void leerMediciones(int *m[5])

Si por el contrario la firma fuese void leerMediciones int **m) y la se llama a la función pasando un array bidimensional el compilador informará de dos avisos:

c.c: In function ‘main’:
c.c:13:20: warning: passing argument 1 of ‘leerMediciones’ from incompatible pointer type [-Wincompatible-pointer-types]
     leerMediciones(m);
                    ^

c.c:6:6: note: expected ‘int **’ but argument is of type ‘int (*)[5]’
void leerMediciones(int **m) {
      ^
1064  Programación / Programación C/C++ / Re: Ayuda con ejercicio basico en C en: 11 Diciembre 2016, 10:39 am
Las matrices deben ser reales, los indices para recorrerlas enteros.
1065  Programación / Programación C/C++ / Re: Extraer datos tipo float de un arreglo a otro en: 10 Diciembre 2016, 13:42 pm
La línea 134 es la culpable. Vuelves a adquirir una zona de memoria para esa variable perdiendo la que tenía los datos cargados.
1066  Programación / Programación C/C++ / Re: Duda acerca de la programación y GitHub en: 4 Diciembre 2016, 23:00 pm
Como dice avesudra se suelen usar los makefile para compilar los archivos, pero en proyectos grandes hay makefiles que llaman a otros makefiles que son los encargados de realizar el trabajo. Puede llegar a ser tan complicado un makefile (es una ironía bastante buena ya que los makefiles sirven para simplificar el compilado) que existen generadores de archivos makefiles, como automake.

Como ves la cosa se puede llegar a complicar bastante. Empieza con compilando un archivo con multiples cabeceras y fuentes. Cuándo sepas manejar el compilador pásate a make. A partir de aquí ve aumentando la complejidad a medida que lo necesites.
1067  Programación / Programación C/C++ / Re: [ayuda] Arreglos dentro de estructuras ("no arreglo de estructurar") en: 4 Diciembre 2016, 20:25 pm
Existe una posibilidad, pero solo te sirve para cuándo das los datos a los arrays durante la definición. En caso contrario deberás darlo uno a uno.
Estándar C >= C99
Código
  1. #include<stdio.h>
  2.  
  3. typedef struct{
  4. int hogares;
  5. float ingresosA[5];
  6. float ingresosB[5];
  7. float promedioA[5];
  8. float promedioB[5];
  9. float desviacionA[5];
  10. float desviacionB[5];
  11. float varianzaA[5];
  12. float varianzaB[5];
  13. } anno;
  14.  
  15. int main(void) {
  16.    anno doce = {.ingresosA = {895, 789, 8745, 258, 4897}};
  17.  
  18.    /********************************************************************************
  19.     Una definición posterior podría ser escrita así:
  20.  
  21.     doce = (anno) {.ingresosA = {895, 789, 8745, 258, 4897}};
  22.  
  23.     pero sigue sirviendo para una inicialización de la estructura completa.
  24.     para inicializar un bloque posterior se debe hacer valor por valor.
  25.     *********************************************************************************/
  26.  
  27.    for(int i = 0; i < 5; ++i)
  28.        printf("%.0f\n", doce.ingresosA[i]);
  29. }
1068  Programación / Programación C/C++ / Re: Duda cadenas C en: 1 Diciembre 2016, 22:30 pm
Qué tal con indices?
Uno desde el principio hasta la mitad y el otro desde el final hasta la mitad. Si las letras en el índice son iguales mueves el índice, sino paras el bucle.
Compruebas si el índice ha llegado a la mitad, si es así es un palíndromo.
1069  Programación / Programación C/C++ / Re: no se que esta mal en: 1 Diciembre 2016, 20:59 pm
Como dice engel lex tu código es demasiado complicado. Debes aprender a refactorizar tus bucles para simplificarlos y los códigos que se repiten y siempre son los mismos ponlos dentro de una función. Y cuida de las identaciones: además de funcional debe ser bonito visualmente para que se pueda seguir bien.

Tu código rehecho y funcional quedaría así:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define FILAS 5
  6. #define COLUMNAS 5
  7. #define MAX_BARCOS (FILAS * COLUMNAS / 4)
  8.  
  9. void mostrar_tablero(int tablero[][COLUMNAS]) {
  10.    int x, y;
  11.  
  12.    for(y = 0; y < FILAS; ++y) {
  13.        for(x = 0; x < COLUMNAS; ++x)
  14.            printf("%i ", tablero[y][x]);
  15.        putchar('\n');
  16.    }
  17. }
  18.  
  19. int main() {
  20.    int tablero[FILAS][COLUMNAS] = {0};
  21.    int i;
  22.    int x, y;
  23.    int num_barcos = 0;
  24.  
  25.    srand(time(NULL));
  26.  
  27.    printf("se colocaran %d barcos\n", MAX_BARCOS);
  28.    puts("tablero original\n");
  29.  
  30.    mostrar_tablero(tablero);
  31.  
  32.    for(i = 0; i < MAX_BARCOS; ++i) {
  33.        x = rand() % COLUMNAS;
  34.        y = rand() % FILAS;
  35.  
  36.        if(tablero[y][x] == 0) {
  37.            tablero[y][x] = 1;
  38.  
  39.            printf("\nse colocaron %d barcos\n", ++num_barcos);
  40.            puts("tablero con barcos\n");
  41.  
  42.            mostrar_tablero(tablero);
  43.        }
  44.        else
  45.            --i;
  46.    }
  47.  
  48.    return 0;
  49. }
1070  Programación / Programación C/C++ / Re: [C] Ayuda: introducir enteros y devolverlos como puntero en: 27 Noviembre 2016, 00:20 am
Tienes razón, se me fue el santo al cielo, como se suele decir.
Páginas: 1 ... 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 [107] 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines