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 - Gallu

#161
Hola , te comento que me ha funcionado a la primera despues de instalar el driver , por supuesto no segui  las indicaciones del enlace que puse , intente adaptarme a mis condiciones , buscando el driver para mi impresora , sé perfectamente que no son el mismo modelo , de todas maneras me gustaria que me dijeras como supiste donde encontrar el driver , anduve buscando pero nunca encontré nada , igual no busque bien  :rolleyes: , de todas maneras te agradezco mucho la ayuda .......
#162
Hola tengo una impresora multifunción epson sx105 , en concreto lo que no puedo usar es el scanner , estoy bajo ubuntu 10.05 , por si sirve de ayuda la salida del comando dmes | grep lpusb es

[   35.117092] usblp0: USB Bidirectional printer dev 3 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0841
[   35.117118] usbcore: registered new interface driver usblp
[   36.346851] usb 2-4: usbfs: interface 1 claimed by usblp while 'usb' sets config #1

ya he intentado lo que pone en éste enlace pero nada , alguien sabe algo ?
http://www.ubuntu-es.org/node/33976
#163
Cita de: dr.~ en 19 Mayo 2010, 13:41 PM
Puedes utilizar:

fflush(stdin); // Limpia el buffer de entrada

EDIT: Si utilizas los pauses a través de system("Pause"), getchar(), etc, únicamente para ver los resultados, es preferible que para ahorrarte ese tipo de cosas, ejecutes tu programa a través de una consola.

Se ha comentado ya acerca del uso del fflush(stdin), mirate lo siguiente

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

para limpiar el buffer de entrada es mejor usar

while(getchar() !='\n');
#164
Así esta muy bien , recuerda que la variable auxiliar tambien podria se dinamica

char *aux = (char *) malloc(sizeof(char)*20);

al final solo tendrías que liberar toda la memoria que pediste ... ;)
#165
No te parece que estás "mal gastando " memoria ?  que sucede cuando la palabra ingresada no es de 50 caracteres , en todo caso 50 caracteres ya me suena a frase , quedaría mejor si reservas la memoria necesaria para el tamaño especifico de cada palabra ... :-\
#166
En primer lugar debes agregar el include <stdlib.h>
En segundo lugar no puedes incrementar directamente el puntero lista , estarías perdiendo la dirección del primer elemento , para el ejemplo que propones , yo utilizaria un puntero auxiliar que recorriera los elementos de lista, fíjate en los cambios
Como la función malloc devuelve la dirección del principio del bloque de memoria reservado , si haces lista++ estarías perdiendo la dirección de esa parte , por consiguiente , al intentar hacer el free lista apuntaría a la última parte del bloque , estarías intentando liberar un bloque de memoria que no te corresponde , de allí el fallo de segmentación .


#include <stdio.h>
#include <stdlib.h>                  //esto para que no te de el warning

#define SIZE 5

int main(){
 int *lista;
 int *aux;                                          //puntero auxiliar
 int i;
lista = (int*)(malloc(sizeof(int)*6));
aux = lista;                                    //auxililar apunta al primer elemento de lista
 *lista = (int)NULL;
 for(i = 0; i < SIZE ; i++){
  //  cambio de lugar el incremento , de esa manera tambien rellenas el elemento 0
   printf("Ingrese elemento N %d\n",i);
   scanf("%d", aux);
   aux++;                                    // incrementamos auxiliar
 }

// en este punto lista ya tiene información
//con esto muestras la informacion en lista
 int cont = 0;
 printf("\nInformación en lista ");
 while (cont < SIZE) printf("\n%d", lista[cont++]);


 free(lista);                         //liberamos lo que habiamos reservado
 puts("Terminado");
 return 0;
}


ahora que si lo haces dentro de una función , no necesitas ningún puntero auxiliar


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

#define SIZE 5

void llenar_array(int *ptr_array);

int main(){
 int *lista;
 lista = (int*)(malloc(sizeof(int)*6));
 
 llenar_array(lista);
 
 //con esto muestras la informacion en lista
 int cont = 0;
 printf("\nInformación en lista ");
 while (cont < SIZE) printf("\n%d", lista[cont++]);
 
 free(lista);
 puts("\nTerminado");
 return 0;
}

void llenar_array(int *ptr_array){
int i;
for(i = 0; i < SIZE ; i++){
printf("Ingrese elemento N %d\n",i);
scanf("%d", ptr_array);
ptr_array++;
 }
}
#167
Lo que te dice Og. es que la variable que guarda el resultado la declares como float , te mostrara los decimales y será mas presiso ...
#168

primero metes en un array de char todas las cadenas

char cadenas[100];
cadenas[1] =* ="Uno";
cadenas[2] =* ="Dos";
cadenas[3] =* ="Tres";  ........


luego usas dos bucles , y listo , lo único malo es tener que llenar el arrey de cadenas ....

for (j=0;j<=9;j++) {
for(z=0;z<=100;z++) {
if (m[j]==z) {
cout<< m[j] <<" " <<cadenas[z] <<endl;
}
}
}


haber si te sirve
#169
Java / Cannot find symbol
15 Mayo 2010, 16:42 PM
Hola a todos , resulta que estoy intentando compilar dos ficheros fuente de java , al compilarlos sin la sentencia package ej1.servidor  ambos compilan bien , pero cuando a ambos les agrego dicha sentencia , el fichero ServidorRMI.java compila bien , pero el fichero ServidorRMIimpl.java al compilar me dice "cannot find the symbol ServidorRMI" , ay que decir que estoy trabajando sobre ubuntu 10.04 y que la carpeta ej1/servidor esta sobre /home/usuario/Documentos/fomento_curso/fuente , la variable CLASSPATH contiene dicha ruta , ya lo he comprovado ...! de antemano les agradezco vuestra ayuda , adjunto los fichero .java

Clase ServidorRMI.java
Código (java) [Seleccionar]
package ej1.servidor;

import java.rmi.RemoteException;
import java.rmi.Remote;
public interface ServidorRMI extends Remote {

public int Sumar (int arg1, int arg2)throws RemoteException ;
public int Restar (int arg1, int arg2)throws RemoteException;
public int Multiplicar (int arg1, int arg2)throws RemoteException;
public float Dividir (int arg1, int arg2)throws RemoteException;
}


Clase ServidorRMIimpl.java
Código (java) [Seleccionar]
package ej1.servidor;

import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
import java.rmi.Naming;
import java.rmi.AlreadyBoundException;
import java.net.MalformedURLException;
public class ServidorRMIimpl  extends UnicastRemoteObject implements ServidorRMI {

public ServidorRMIimpl() throws RemoteException{}

public int Sumar (int arg1, int arg2)throws RemoteException {
return arg1 + arg2;
}
public int Restar (int arg1, int arg2)throws RemoteException{
return arg1 - arg2;
}
public int Multiplicar (int arg1, int arg2)throws RemoteException {
return arg1 * arg2;
}
public float Dividir (int arg1, int arg2)throws RemoteException{
return arg1 / arg2;
}

public static void main (String[]arg){
try{
ServidorRMIimpl obj = new ServidorRMIimpl();
Naming.bind("//localhost/my_servidor",obj);  //127.0.0.1 --> localhost
}catch(RemoteException ABE){
System.out.println("RemoteException ");
}catch(AlreadyBoundException ABE){
System.out.println("AlreadyBoundException ");
}catch(MalformedURLException ABE){
System.out.println("MalformedURLException ");
}
}
}



#170
Si le quitas las llamadas a System tu aplicación será multiplataforma  ;D