|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - m0skit0
Páginas: 1 ... 10 11 [12] 13 14 ... 100
276
« en: Martes 18 de Enero de 2011, 08:18 »
i un int tiene 4 bytes, ¿como espesifico que una variable tenga mas de 4 bytes (por ejemplo 8)? Para 8 long long int, aunque ten en cuenta que en C el estándar no especifica qué tamaño debe tener cada tipo, así que ojo. @LapizTolita: él no quiere manejar un dato de 32 bits, sino varios de 5.
277
« en: Martes 18 de Enero de 2011, 08:13 »
fopen() fread() fclose()
278
« en: Lunes 17 de Enero de 2011, 16:09 »
talves coloque 8 datos en 5 bytes para no desperdiciar nada. Ahí pierdes velocidad, ya que como te dije, la máquina curra mucho mejor con 4 bytes que cualquier otro tamaño de datos. ya me mencionaron que un int ocupa 32 bits, osea que puede tener valores entre 0 y 4,294,967,295, ¿verdad? Sí, pero yo me refiero a colocar tus datos de 5 bits por bits, tal que 32 bits -> XX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX DATO6 DATO5 DATO4 DATO3 DATO2 DATO1
279
« en: Lunes 17 de Enero de 2011, 14:38 »
En realidad puede que pienses que manejar 5 bits es más eficaz que manejar 32 bits, pero esto no es cierto. Las arquitecturas están orientadas para trabajar con 32 bits, y por tanto ése es el mejor tamaño de datos que puedes usar. De todas formas, C/C++ (y la misma arquitectura) sólo permite trabajar con un byte como tamaño más pequeño (porque es el mínimo direccionable por casi todas las máquinas), con lo que malgastarías 3 bits por cada dato.
Si no quieres gastar 3 bits por dato (que tampoco es que sea mucho, ya que para un millón de datos sólo malgastarás menos de 3 MiB), puedes optar por encajar varios datos en cada palabra de 32 bits. Por ejemplo, usa un int (32 bits) y mete 6 datos en él, así sólo malgastarás 2 bits por cada 6 datos, es decir, 1/3 de bit por dato (9 veces mejor que antes). Eso sí, luego el procesar los datos es más complicado (no se puede tener nada gratis).
280
« en: Viernes 14 de Enero de 2011, 10:17 »
Obviamente no es lo mismo, sino no se llamaría diferente. Un array de strings es igual que un array de cualquier otro tipo de dato, sólo que con strings  Y libros hay por doquier en las bibliotecas y librerías, además de los libros virtuales innumerables que puedes encontrar por internet. El caso es que aquí tienes que plantear una duda concreta para que te ayudemos, a nadie nos pagan para darte clases particulares de algo que ya está más que documentado en mil lados.
281
« en: Viernes 14 de Enero de 2011, 10:05 »
Esto viene en cualquier libro de C/C++.
282
« en: Viernes 14 de Enero de 2011, 09:28 »
283
« en: Viernes 14 de Enero de 2011, 09:25 »
Mi forma es estándar, la que propones tú no lo es.
285
« en: Jueves 13 de Enero de 2011, 12:02 »
Te han pillao
286
« en: Jueves 13 de Enero de 2011, 10:26 »
Le complicas la vida demasiado al chaval sólo por algo insignificante como que no se cierre la ventanita  Y encima le dices que no es portable, pero le plantas un getchar() con WinAPIs Eso de cerrarse la ventana es simplemente porque lo lanzas desde el IDE en una ventana externa. Si abres un terminal Windows y lanzas el programa verás que no se cierra (o si usas otro IDE que tenga consola integrada, por ejemplo Eclipse, tampoco lo necesitas). Es algo que no tiene relevancia ni importancia, realmente, como para estar dándole tantas vueltas. Saludos
287
« en: Jueves 13 de Enero de 2011, 09:07 »
Puedes abrir nuevo tema sin problemas.
288
« en: Jueves 13 de Enero de 2011, 08:49 »
289
« en: Miércoles 12 de Enero de 2011, 23:47 »
Yo no uso CodeBlocks, pero Eclipse por ejemplo tiene la opción de crear un proyecto Makefile, y te genera un Makefile y lo compilas mediante make desde Eclipse. Debo suponer que CodeBlocks debe tener algo parecido para usar make desde el IDE.
290
« en: Miércoles 12 de Enero de 2011, 19:19 »
sizeof no strlen
291
« en: Martes 11 de Enero de 2011, 20:48 »
Se considera mala programación modificar dentro del bucle la variable que se usa como contador en un bucle for.
292
« en: Martes 11 de Enero de 2011, 09:28 »
Falta algo porque cuando ejecuto el programa siempre me sale error. ¿Qué error y dónde?
293
« en: Martes 11 de Enero de 2011, 09:26 »
Vaya, un linuxero que no conoce make
294
« en: Lunes 10 de Enero de 2011, 10:08 »
"Conejo" mejor al horno Bromas aparte, deberías ser más específico sobre tu duda/pregunta, porque no entiendo realmente en qué te podemos ayudar con tan pocos detalles. Saludos.
295
« en: Viernes 7 de Enero de 2011, 10:24 »
Y eso se llama ejecutar, no abrir, y el fichero un ejecutable. Saludos
296
« en: Martes 4 de Enero de 2011, 17:24 »
Cógete un libro de C y mírate la parte de funciones. Y si me apuras, léetelo entero. No tiene más vueltas.
Saludos.
297
« en: Domingo 2 de Enero de 2011, 22:50 »
No entiendo bien cuál es tu problema.
298
« en: Domingo 2 de Enero de 2011, 09:21 »
Pues me temo que tu ordenador no es suficiente, como te digo. La memoria es limitada.
299
« en: Domingo 2 de Enero de 2011, 09:19 »
Ahí va un ejemplo: #include <stdio.h> #include <stdlib.h> // Devuelve la posición del número en el vector // -1 si no se encuentra // num: número a buscar // misnumeros: vector en el que buscar // tam_vector: tamaño del vector a buscar int posicion_numero_vector(const int num, const int vec[], const unsigned int tam_vector) { int pos = -1; int i = 0; while(i < tam_vector) { if (vec[i] == num) { pos = i; i = tam_vector; } else { i++; } } return pos; } int main() { int misnumeros[10]; int i, num, temp; for (i=0;i<10;i++){ misnumeros[i]=0; } num=0; while (num<10){ printf("introduzca un numero: "); scanf("%d",&temp ); /*Lo guardo en temp para comparar con los datos del vector*/ for (i=0;i<=num;i++){ /*Comprobar si ya existe*/ while (posicion_numero_vector(temp, misnumeros, sizeof(misnumeros)/sizeof(int)) >= 0){ //while (temp==misnumeros[i]){ printf ("El numero existe, introduzca otro numero: "); printf ("El numero temp vale %2d.n",temp ); } } misnumeros[num]=temp; /*Si no existe pasamos el valor al vector*/ num++; } for (i=0;i<10;i++){ printf ("los numero son: %2d.n",misnumeros [i ]); } }
300
« en: Sábado 1 de Enero de 2011, 20:12 »
Siempre es aconsejable que indiques concretamente qué problema te está dando. Para comprobar, es así: while (temp==misnumeros[i])
Aparte, fíjate que cuando encuentras un número repetido, al pedir otra vez el número, no vuelves a comprobar que no esté ya en el vector. Sólo compruebas esa misma posición. while (temp==misnumeros[i]){ printf ("El numero existe, introduzca otro numero: "); printf ("El numero temp vale %2d.n",temp ); }
Además, deberías estructurar más tu código para que sea más legible. Tal y como lo tienes es un caos. ¿Has utilizado funciones alguna vez? Saludos
Páginas: 1 ... 10 11 [12] 13 14 ... 100
|
|
|