Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - xiruko

#391
Electrónica / Re: Saber la carga de una pila
23 Agosto 2012, 22:59 PM
gracias a los dos, leyendome el articulo de wikipedia lo acabe de entender.

un saludo!
#392
Electrónica / Re: Saber la carga de una pila
23 Agosto 2012, 21:46 PM
CitarEn segundo lugar, la carga no la puedes medir con un voltimetro.

una pregunta simorg... por que no puedes medirlo con un voltimetro?
#393
como has dicho si que tiene que ver con la declaracion de la variable contador2. en el primer ejemplo funciona bien, ya que para cada "contador" escribes tantos puntos que los cuentas con "contador2", y cuando acabas, pasas a la linea siguiente (contador++) y al contador2 que es quien marca las columnas le vuelves a asignar 1 para que empiece una nueva fila.

en el segundo ejemplo, no haces esto, asi que despues de la primera iteracion del while mayor, contador2 valdra lo que indique la variable "puntos" y nunca mas volvera a entrar en el segundo while. por lo que imprimira 1 linea de asteriscos y luego los saltos de linea que sean.

no se si me explique muy bien... sino coge un papel y un boli, o el bloc de notas, y sigue el flujo del programa para 2 o 3 iteraciones del while y lo veras.

un saludo!

edito: he visto ahora que ya lo has comentado, y yo liandome con la explicacion xD igualmente lo de seguir el flujo del programa te servira para cualquier code que hagas, asi que no esta de mas hacerlo para dudas de este estilo.
#394
wow gracias por el aporte ;-)

#395
Foro Libre / Re: EL foro libre.
21 Agosto 2012, 17:33 PM
CitarAl parecer el foro libre no es tan libre.  :rolleyes: , es cierto que este foro es de informática pero tambien es cierto que colocaron foro libre para hablar de lo que uno se le plazca sin ofender a los demás, pero creo que hay algunas personas que se ofenden con cualquier cosa. Al que no le gusta, que no lea, pero bueno los jefes son otros.  :silbar:

el foro libre es un foro libre. ves a gente preguntando que les parece tal serie, que les parece tal articulo, hasta que les parece tal corte de pelo. y de eso se trata. ahora, cuando se empieza a decir que a una le gusta que le den por el ojal, luego un tema que por titulo tiene "flujo del pene" y dentro hay posts con comentarios tipo: si tuviera que elegir a quien chuparsela se lo haria a nosequien, etc.... pues esto ya es demasiado. yo por ejemplo nunca lo dije por el tema menores en el foro, puesto que hay miles de webs porno y seguramente ellos ya las hayan visto. directamente es porque en un foro como este queda mal y da hasta verguenza que usuarios donde en un subforo estan dando una solucion muy acertada a algun problema y estan sirviendo como de "modelo" a muchos que quieren aprender, en un post como este estaban casi como "ooh si chupamela a mi sigue sigue...".

en fin, aunque no tenga ni voz ni voto yo estoy completamente a favor del ban de 5 dias, y realmente agradezco poder disfrutar de 5 dias sin ver nada de penes y semenes y lo que sea por aqui.

un saludo!
#396
Foro Libre / Re: EL foro libre.
21 Agosto 2012, 05:53 AM
CitarDe momento gozaremos de 5 dias de tranquilidad....a ver si aprendemos a comportarnos.

;-) ;-)
#397
Programación C/C++ / Re: suma matrices
21 Agosto 2012, 05:41 AM
si no entiendes bien el tema apuntadores repasalos en este enlace que no es muy largo y esta bien explicado:

http://c.conclase.net/curso/?cap=012

en cuanto a las matrices, estas no son mas que un apuntador a un array de apuntadores a entero (en este caso).  en el code que te deje tendriamos esto:

                i           j
matriz -> | a | -> | 1 | 2 | 3 |
              | b | -> | 4 | 5 | 6 |
              | c | -> | 7 | 8 | 9 |

donde los vectores 123, 456, 789 son un array de enteros, y representan las filas de la matriz. el vector abc es un array de apuntadores a enteros: "a" es un apuntador a entero (int*) y apunta a "1"; "b" es un apuntador a entero y apunta a "4"; etc. y luego "matriz" es un apuntador a un array de apuntadores (int**), y "matriz" apunta, como en toda cadena de cualquier cosa, al primer elemento "a".

entonces, si por ejemplo quieres acceder al numero 4, y cogemos los indices i,j del dibujo, seria: matriz[1][0] (recuerda que los arrays empiezan en la posicion 0), o lo que es lo mismo: *(*(matriz+1)+0). para el numero 8 seria matriz[2][1] o *(*(matriz+2)+1). etc.

si hasta aqui lo entiendes, entonces lo de pasar por referencia a una funcion como parametro no es mas que darle el apuntador de la matriz a la funcion, en este caso "matriz". asi luego dentro de la funcion podras acceder y modificar cualquier elemento de la matriz.

no se si me explique muy bien, ahora comentare un poco el code de antes y si tienes alguna duda en particular intentaremos resolverla.

un saludo!

edito:
CitarNo es valida si se compila según el estándar C90, este requiere que el numero de elementos en un array se indique mediante una expresión constante.

Pero en los dos siguientes estándares de C (C99 y C11) si es posible, a esos arrays donde el numero de elementos se calcula en tiempo de ejecución se les conoce como "variable length arrays" o "VLAs".
gracias por comentarlo, no tenia ni idea y ya me he puesto al dia leyendo sobre ello.
#398
Programación C/C++ / Re: suma matrices
19 Agosto 2012, 23:24 PM
a ver... para sumar 2 matrices tienen que tener la misma dimension. asi que en tu codigo, con pedir 1 vez la dimension es suficiente. y luego, el trozo de codigo para sumar no es mas que recorrer la matriz igual que lo haces para inicializarla con rand(), pero en vez de eso pones un printf() que muestre matriz1[ i][j]+matriz2[ i][j].

todo el resto del codigo de antes es para solucionar varios errores que cometes en toda la otra parte de codigo, tambien para solucionar el desorden y estructurarlo un poco, y para que sea mas entendible al leerlo.

si ya has estudiado funciones y apuntadores, si quieres modifico mi mensaje anterior añadiendo explicaciones en el codigo para que asi puedas seguirlo y entenderlo; si no, no le hagas mucho caso ya que te sonara a chino y primero deberias leerte la teoria antes de dedicarte a la practica.

un saludo!
#399
Foro Libre / Re: Duda ética
19 Agosto 2012, 23:18 PM
yo si fuera el jefe de tal empresa la verdad agradeceria que alguien me avisara de lo que ha pasado. no despediria a nadie a no ser que en ese disco hubiera informacion muy comprometida, pero si que daria un toque de atencion al empleado culpable, pidiendo mas que nada un poco de sentido comun.

eso si, si te decides a hacerlo, envia un mail anonimo como bien has indicado unos posts mas para arriba.

un saludo!
#400
no entiendo por que en los fread() le pasas &ptr. ptr es un puntero a int, el cual no inicializas ya sea diciendole que apunte a alguna variable o reservandole memoria, y encima lo pasas por referencia con lo que a fread() le estas pasando la direccion de memoria del puntero :huh:

luego dentro del while tampoco entiendo cual es la finalidad de ptr=&ultimo, o directamente para que usas el puntero ptr. ademas, por cada caracter que lees, sumas 1 a "ultimo", cuando por cada linea deberias sumar 1. si la estructura del fichero siempre es 1 numero, 1 espacio, y luego una frase, podrias leer caracter por caracter, y si este es igual a '\n' sumar 1 a "ultimo".

ademas que abres el fichero 2 veces, podrias abrirlo solo 1 vez en modo lectura y escritura y con fseek() cuando lo necesites te situas al final de este.

en fin, que no me aclaro mucho con tu codigo... quizas soy yo asi que esperemos a que alguien mas conteste porque seguramente se me hayan pasado varias cosas.

un saludo!

edito: tenia ganas de programar algo y me puse con tu ejercicio. te dejo el code por si te sirve. este incluye la frase que se le pase por linea de comandos entre "" en el archivo con el numero que le toque al inicio.


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {

char fichero[]="prueba.txt", aux;
unsigned int num=0, i;
FILE *f;

//comprobaciones de error
if (argc != 2) {
printf("MODO DE USO: %s \"frase\"\n", argv[0]);
exit(0);
}

if (!(f=fopen(fichero, "r+"))) {
printf("ERROR: No se pudo abrir %s.\n", fichero);
if (!(f=fopen(fichero, "w"))) {
printf("ERROR: No se pudo crear %s.\n", fichero);
exit(1);
} else printf("Fichero %s creado.\n", fichero);
}

//lineas totales en el archivo
do {
i=fread(&aux, sizeof(char), 1, f);
if (aux == '\n') num++;
} while (i > 0);
if (num == 0) num++;

//escribimos el numero y la frase
fprintf(f, "%u %s\n", num, argv[1]);

fclose(f);
return 0;
}