• Lunes 29 de Abril de 2024, 02:12

Mostrar Mensajes

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

Páginas: 1 2 [3] 4
51
C/C++ / Re: sockets
« en: Domingo 24 de Febrero de 2002, 02:16 »
Pues depende de lo que sockets quieras programs.

Yo supuse que querias programar con los Sockets TCP/IP (redes-inet) que son los mismos tanto para win como para linux/unix porque usan la misma implementacion, aunque cada uno (en el tema mas avanzado) tiene sus particularidades. Luego, en unix estan los sockets que comunican los procesos del propio sistema, que estos si que ya son especificos.

El link que te puse, es bastante completo, por lo tanto mas largo y a la vez mas pesado:). Si quieres uno (que tambien es muyb bueno, a mi me gusto mucho) un poquito mas corto y bien explicado te lo puedo mandar al correo (pesa poco, esta en formato HTML) Te pondría el link pero es que no me acuerdo de donde lo baje. Este ultimo lo escribio alguien o varios del grupo Biohazard (un grupo de creadores de virus). Cuando te metas un poco mas en el tema de los sockets te darás cuenta del porque de este/a/@s autores/as;)


Saludos,
  Tenesor

52
C/C++ / Re: sockets
« en: Sábado 23 de Febrero de 2002, 21:38 »
umm, espero que te sirva:

http://www.starlinux.com.ar/articulos/sockets.html

Saludos,
  Tenesor

53
C/C++ / Re: Me gusta la idea, me gusta...
« en: Sábado 23 de Febrero de 2002, 21:35 »
FORO ABIERTO!!!!

Hola a tod@s. Pues al parecer le plantee un supuesto problema a/los administrador/es del foro de solocodigo y han decidido abrir el sub-foro, pues creen que es una buena idea...

En el sub-foro he puesto un mensaje sobre el funcionamiento del foro (no son ordenes, ni reglas ni nada por el estilo, solo una propuesta).

Espero que lo lean y propongan lo que quieran. Todos los cambios que se realicen en el sub-foro deberan ser leidos y aceptados por todos los usuarios del mismo, para eso somos nosotros quienes lo usamos:)

El primer reto (o segundo o tercero ya:)) se planteará cuando decidamos su funcionamiento para no desordenar los mensajes:)

Yo estoy intentado plantear un reto para el foro a ver que sale...


Saludos,
Tenesor

54
Sobre los Foros de SoloCodigo / Re: Sobre los nuevos foros
« en: Sábado 23 de Febrero de 2002, 21:29 »
Hola de nuevo!

Gracias por abrir el el subforo y les agradezco mucho la confianza depositada en mi.

Acabo de publicar un mensaje en "Retos" sobre el funcionamiento de este y me gustaría mucho que lo leyesen para ver si estan de acuerdo con lo dicho.

Espero poder poner (yo o cualquiera) el primer reto pronto e intentar dar a conocer todo lo posible este foro a la gente (GRACIAS POR ESTE PEDAZO DE FORO!:D) por todos los medios que me sean posibles.

Saludos,
  Tenesor

55
Sobre los Foros de SoloCodigo / Re: Sobre los nuevos foros
« en: Sábado 23 de Febrero de 2002, 04:01 »
Hola!

Yo estoy de acuerdo con esta medida, pero tengo una duda...

No se si os pasais por el foro de C/C++ pero se estaba pensando crear un SUB-Foro con el nombre de "Retos" para plantear retos para que los programadores de dicho lenguaje desarrollen las soluciones y compartan sus opiniones con los codigos presentados.

Mi duda es que, ahora apoyan esta idea 3 personas (se ha planteado hoy mismo el crear el nuevo foro) y mis temores son que la gente no escriba que apoya pero realmente le interese ese subforo, por lo que su apoyo pasaría inadvertido.

Además pienso que la idea de los "Retos" crea mas interactividad entre las personas y el nivel de aprendizaje que se puede alcanzar es superior al que cada persona pregunte su duda particular y ya esta.

Saludos,
  Tenesor

56
Visual Basic 6.0 e inferiores / Re: longitud de un string o array
« en: Sábado 23 de Febrero de 2002, 03:47 »
Me temo que no, pero para lo que necesitas saber existe otra funcion (mejor dicho, otras dos) que te permitira saber el numero de elementos de un array.

Estas funciones son LBound(Para saber el indice menor) y UBound(Para saber el indice mayor).

Para saber el numero de indices de arrays unidimensionales se aplica de la siguiente manera:

Dim elementos(10 to 20) as integer
Dim IndiceMenor as integer
Dim IndiceMayor as integer

IndiceMenor = LBound(elementos)
IndiceMayor = UBound(elementos)

Si el array es Multidimensional, debemos especificar la dimension a averiguar. Por ejemplo:

Dim elementos(10 to 20,30 to 40) as integer
Dim IMenorPrimero as integer
Dim IMayorPrimero as integer
Dim IMenorSegundo as integer
Dim IMayorSegundo as integer

IMenorPrimero = LBound(elementos,1)
IMayorPrimero = UBound(elementos,1)

IMenorSegundo = LBound(elementos,2)
IMayorSegundo = UBound(elementos,2)


Espero que esto te sirva...

Saludos,
  Tenesor

[Modificado el 2/22/02 por tenesor]

57
C/C++ / Arboles de datos en C++ (más concretamente Dev-C++)
« en: Sábado 23 de Febrero de 2002, 03:26 »
Ok.

Si quieres postear el codigo (aunque no compile bien) o enviarmelo por correo le echaré un ojo y haré lo que pueda. Que aunque las listas estructuradas las tengo un poco abandonadas se hará lo que se pueda...


Saludos,
  Tenesor

58
C/C++ / Re: CODIGO ASCII EN C
« en: Sábado 23 de Febrero de 2002, 03:22 »
UFF, no sabes lo que pides....

Para dibujar (si no entras en el modo gráfico) tienes que ir con el "gotoxy" para mover el cursor de un sitio a otro y dibujar las lineas...

Si lo haces en modo gráfico, mira el tema "poner un pixel en pantalla" o algo asi, alli se esta explicado el funcionamiento del modo gráfico.

Para meter una imagen, tienes en http://www.mundovb.net/mundoc/cargapcx.htm un codigo fuente para cargar imagenes PCX. Si hay alguna otra forma, la desconozco, lo siento.

Saludos,
  Tenesor

59
C/C++ / Re: PROGRAMACION
« en: Sábado 23 de Febrero de 2002, 03:17 »
hola!

Bueno, eso parece lo mismo que paso la otra vez (no me acuerdo a quien...) Esta por ahi el mensaje.

Pero bueno, si utilizas "randomize()" y "random()" y un compilador que no sea de borland, no funcionará nunca, pues estas funciones son de borland y no funcionan con otro compilador:(

Pero bueno, para resolver esto, se usa el estandar (ANSI) que remplaza "randomize()" por "srand(time(0))" y "random()" por "rand()%int;". Por supuesto, hay que incluir el head "time.h".

Vamos, que sería asi:

#include <time.h>

main()
{
int x;
srand(time(0));

x=rand()%100;
}

Es programa primero declara la variable entera 'X', llama a "srand(time(0));"  (lo mismo que randomize();) y luego asigna a X un valor aleatorio de 0 a 100.

Saludos,
  Tenesor

60
C/C++ / Re: Me gusta la idea, me gusta...
« en: Sábado 23 de Febrero de 2002, 03:10 »
Bueno, vamos a esperar a ver si se apunta por lo menos una o dos personas mas y se lo comunicamos al administrador.

Gracias por tu apoyo!!! y a kenshin tambien!!!

61
C/C++ / Re: Poner pixel en pantalla...¿?¿?¿?¿?¿?¿?¿?¿?
« en: Sábado 23 de Febrero de 2002, 03:07 »
Ummm, de verdad no te funciona?

He probado y lo que puede ser (que seguramente será) es por el path del BGI.

Se me olvido decirte una cosita...
El path debe ser con doble barra invertida!!!
por ejemplo, "c:tcbgi"

Pero bueno, por si acaso aqui te adjunto un programa gráfico. Lo unico que hace es inicializar el modo gráfico y si da un error, pulsas una tecla y cierra el modo gráfico y sale del programa:)

Saludos,
  Tenesor

---------------------------------------------

// Inicialización y cierre del modo gráfico.

#include <graphics.h>

main()
{
   int tarjeta, modo, error;
   detectgraph(&tarjeta,&modo);
   initgraph(&tarjeta,&modo,"C:TCBGI");
   error=graphresult( );
   if (error)
   {
      printf("%s",grapherrormsg(error));
   }
   else
   {
      getch( );
      closegraph( );
   }
}

---------------------------------------------





[Modificado el 2/22/02 por tenesor]

62
C/C++ / Re: Arboles de datos en C++ (más concretamente Dev-C++)
« en: Viernes 22 de Febrero de 2002, 22:12 »
Hola EQLucky!

Con los datos que distes, solo te puedo decir dos cosas...

Si quieres borrar un nodo superior o el raiz, mientras tengas nodos inferiores con datos no puedes borrar el superior. Por ejemplo, si tienes 5 nodos y quieres borrar el 4, rompes el enlace 4-3-4 (doble enlace, 3 al 4 y 4 al 3) y a la vez el 5-4-5, por lo que si quieres borrar el 4 rompes el enlace del 3 con el 5 y el 5 se perderia. Debes ir comprobando nodo a nodo (empezando por el inferior) y borrarlo. Esto si realmente  era asi, no me acuerdo mucho....


La otra es que, si es del dev-c++, no se nada de este compilador, pero he estado mirando la página de sus desarrolladores y tienen un apartado de ayuda para todos los lenguajes que soporta este compilador, el link de C es:

http://www.bloodshed.net/c/index.html

BloodShed son bastante conocidos en cuanto a compiladores, pero mientras sean para windoze un servidor no lo usará:) Me gusta mas GCC (para obligarme a respetar el ANSI;)) o, en caso de extrema necesidad, el Borland...

Saludos,
  Tenesor

63
C/C++ / Re: Me gusta la idea, me gusta...
« en: Viernes 22 de Febrero de 2002, 22:01 »
Hola.

En vez de poner los retos en el tema "Reto", porque no pedimos al administrador que habrá un subforo (como los que hay de opengl, directx, kdevelop y qt) y ordenar los retos por fechas o tipo mediante temas?

Asi creo que esta mas organizado y si alguien busca la solucion de algun reto ya resuelto para un programa suyo o lo que sea, lo puede encontrar facilmente.

Saludos,
  Tenesor

64
Visual Basic 6.0 e inferiores / Re: longitud de un string o array
« en: Viernes 22 de Febrero de 2002, 18:33 »
Ummm, eso es fácil

Hay una funcion "len" que calcula la longitud
de caracteres y lo guarda en una variable o en una propiedad imprimible en pantalla de un objeto.

Supongamos un formulario con dos cajas de texto (Text1 y Text2) y un boton (Command1).

El valor de Text1.Text = "Logintud de caracteres" y el Text2.Text = ""

Si en el boton ponemos el siguiente codigo:

Private Sub Command1_Click()
  Text2.Text = Len(Text1.Text)
end sub

Al pulsar el boton, en Text2.Text estará la longitud de la cadena que hay en Text1.Text (en este caso 22):)

Saludos,
  Tenesor

65
C/C++ / Re: Reto
« en: Viernes 22 de Febrero de 2002, 18:21 »
Creo que ese programa ya lo hice, pero por pereza no me he puesto a buscarlo...:)

Pero bueno, que tal asi? Este lo he probado en linux y esta en ANSI C, asi que no creo que se tenga problemas con los windozes.

Saludos,
 Tenesor
---------------------------------------------

#include <stdio.h>
#include <string.h>

main()
{
      char frase[100],inicial[20];
      int contfra,contini, num_frase;

      Printf("Introduce tu frase: ");
      gets(frase);


      for(contfra=0; frase[contfra]==" "; contfra++);
      {
        contfra++;
        if((frase[contfra])!=" ")
                inicial[0]=frase[contfra];
      }

      num_frase = strlen(frase);
      contini=1;
      for(contfra=1;contfra==num_frase;contfra++)
      {
          if(frase[contfra]=" ")
          {
            contfra+1;
            if(frase[contfra]!=" ")
            {
              inicial[contini]=frase[contfra];
              contini++;
            }
          }
      }


      inicial[contini]="";
      printf("nLas iniciales de la frase son: %sn",toupper(inicial));

}

---------------------------------------------

PERDON!!! He editado el programa porque se me habia olvidado pasarlo a mayusculas!!!
(En el ultimo printf, el "toupper(inicial)" pasa a mayusulas el caracter o caracteres de esa variable-array)

[Modificado el 2/22/02 por tenesor]

66
C/C++ / Desesperado... :-)
« en: Viernes 22 de Febrero de 2002, 18:19 »
VAYA! Muchisimo mejor! todo en una sola linea!!

Gracias :)

67
C/C++ / Re: Desesperado... :-)
« en: Viernes 22 de Febrero de 2002, 02:52 »
Hola Rafael!

Si, ya se que pidio numeros enteros, pero es que empezamos con evoluciones, si te das cuenta, la primera respuesta (aunque erronea) iba con los numeros. Luego pase a caracteres.

De todas formas, el mismo codigo que escribi solo hay que añadirle una linea para que recoja caracteres hasta que sea NUMEROS, u otra solucion seria bloquear el teclado exceptuando los numeros, el backspace y el intro.

Esto no se exactamente como hacerlo pero lo puedo mirar....

Ah, ya dije que me gusto tu codigo, pero si se usa como función de un programa mas largo, es aconsejable acortarlo todo lo posible.

Saludos,
Tenesor

68
C/C++ / Re: Reto
« en: Jueves 21 de Febrero de 2002, 21:09 »
Bueno Kenshin, solo era una idea y el reto no era mas que un ejemplo para explicarlo, pero ya que lo has hecho, se agradece...

Yo no he encontrado ninguna forma de acortar mas el codigo, pero seguro que habra alguna.
Aqui te  pongo unos pequeños retoques que hice para que fuera un poco mas interactivo, en vez de que la semilla del rand sea fija, que el usuario la elija.


Saludos,
  Teneosr


Para los que no saben de que viene esto, mirar el tema "Saludos", alli teneis la respuesta:)


---------------------------------------------
// C++

#include <iostream.h>
#include <time.h>
#include <stdlib.h>

main()
{
  int num_aleatorio, suma=0, par=0, cont=0;
  long int num_cifras;

  srand(time(0));

  cout << "Escriba un numero para realizar el calculo de numeros aleatorios: ";
  cin >> num_cifras;

  for(int i=0;i<5;i++)
  {
     num_aleatorio=rand()%num_cifras;
     cout  << endl << "Numero " << cont << ": " << num_aleatorio;
     suma +=num_aleatorio;
     cont++;
     if((num_aleatorio%2)==0)
         par++;
  }

  cout << endl << endl << "Suma: " << suma << endl << "Pares: " << par << endl;

  system("PAUSE");
  return 0;
}
---------------------------------------------

69
C/C++ / Re: Desesperado... :-)
« en: Jueves 21 de Febrero de 2002, 21:03 »
AH, gracias por todo lo que estas explicando, son cosas básicas que ya habia olvidado, pero se agradece y mucho.

70
C/C++ / Re: Desesperado... :-)
« en: Jueves 21 de Febrero de 2002, 21:01 »
De acuerdo, vamos a ver si esta va la vencida. Con este programa he tenido diversos problemas en XP, pero lo he probado en win 98 y ha funcionado. Con estas experiencias ya pille el porque del malloc, y en cuanto a lo de 'X' sea array estoy deacuerdo. Tengo una mezcla extraña de lenguajes en mi cabeza y confundia el char de C con el String de Pascal:(

Bueno, aki va el codigo.

--------------------------------------------
      char x[100],*y;
      int cont, numlon;

      printf("Introduce numeros: ");
      scanf("%s",x);

      numlon = strlen(x);
      y = (char *)malloc(sizeof(x));

      do{
         y[cont] = x[cont];
         cont ++;
         printf("nY = %s  X = %s",y[cont], x[cont]);
      }while(cont != numlon);

      free(y);
-------------------------------------------

71
C/C++ / Re: Crear edito de texto en Linux
« en: Jueves 21 de Febrero de 2002, 04:27 »
No se exactamente a lo que te refieres...

Es para la consola o para X-Window?

Si es para consola hazlo exactamente como lo harias para DOS, solo que utiliza funciones ANSI.

Un manual de ANSI C en http://www.esi.unav.es/Asignaturas/Informat2/C/Prog_c.htm

Si quieres ver editores de texto hechos en C para Linux, date una vuelta por www.sourceforge.net y www.freshmeat.net

Son paginas que tienen proyectos desarrollados en varios lenguajes para linux y en las que encontrarás editores de texto desarrollados en C.

Podrás observar como fue desarrollado y te harás una idea de como hacer tu editor de texto.

Saludos,
   Tenesor

72
C/C++ / Re: Poner pixel en pantalla...¿?¿?¿?¿?¿?¿?¿?¿?
« en: Jueves 21 de Febrero de 2002, 04:18 »
JAJAJAJAJAJAJAJA, gracias por el alago, pero me parece que no soy tan bueno como crees:) todavia me falta muchisimo que aprender y cometo muchisimos fallos tontos (ejemplo, el programita de coger los numeros:))

Pero bueno, en este caso creo que lo tengo...

Para dibujar un pixel se ha de entrar en el modo gráfico, una desesperacion para algunos, un alago para otros:)

para entrar en el modo gráfico debes poner lo siguiente:
-----------------------------------------
int tarjeta, modo, errorgraph;

detectgraph(&tarjeta,&modo);

initgraph(&tarjeta,&modo,"Path del EGAVGA.BGI");

errorgrpah=graphresult( );

if (errorgraph)
{
    printf("%s",grapherrormsg(errorgraph));
}else
{
        // sentencias
        closegraph();
}
-------------------------------------------

Ok, ya esta el modo gráfico inicializado, ahora te explico esto que he puesto.

El "detectgraph" mira si hay una tarjeta gráfica instalada (aunque en la actualidad es practicamente seguro que hay una, se ha de poner).
El "initgraph" inicia el modo gráfico. Lo de el "path del EGAVGA.BGI" es el path donde esta el archivo EGAVGA.BGI. Que yo recuerde, en el Turbo C esta en la "directorio del turbocbgi" Si no usas TC, buscalo que estará por ahi:)
La "graphresult" devuelve un entero que es 0 si no hay error en el modo gráfico y un nº negativo si hay alguno. El int que retorna se lo asociamos a una varible int (errorgraph).
Con el grapherrormsg(errorgraph) devuelve un mensaje de error con el error ocurrido. Si no ha habido ningun error, hace el bloque de sentencias ... y luego closegraph. Este closegraph CIERRA el modo gráfico.

Ahora que ya sabes como inicializar el modo gráfico pasamos a dibujar un pixel:)

Para dibujar un pixel no hay nada mas simple que:

 
putpixel(x,y,color)


Donde X e Y son los enteros que indican las cordenadas. X = ANCHO pantalla e Y es el ALTO de pantalla
Las tablas de color no se cuales son, supongo que las tendrás por internet, o si tienes espiritu aventurero, prueba metiendo numeros del 0 al 17 o 18 (me parece, no estoy seguro, pero por ahi andaba...)

Pero he aqui el primer problema, como saber cual es el X maximo y el Y maximo??? pues con otra funcion:)


  x=getmaxx();
  y=getmaxy();


Estas de aqui son otras funciones que recuerdo, si quieres mas ya buscare por programas que tenga hechos en modo gráfico y te las paso por mail

Para borrar la pantalla, simplemente es:
 

  cleardevice( );


Para dibujar una linea:
   
line(x1,y1,x2,y2); (del punto x1 al x2 y del punto y1 al y2)

Para dibujar un circulo:
 
 circle(x,y,radio);

Para escribir texto:
 
 outtextxy(x,y,"texto");

Pues ya sabes todo lo que se sobre el modo gráfico:D

SEGURO QUE TENGO ALGUN ERROR!!! si alguien lo saca, que lo escriba, no me importaria lo mas minimo.
Y que nadie tome el foro como una competicion de mentes!!! Los foros estan para que la gente comparte lo que sabe, no para competir entre nosotr@s. Por lo menos eso pienso...


Saludos,
   Tenesor



[Modificado el 2/20/02 por tenesor]

73
C/C++ / Re: Saludos
« en: Jueves 21 de Febrero de 2002, 03:31 »
Vaya, TOD@S SON ESTUDIANTES DE CARRERAS!!!!:D

Pues yo no estudio ninguna carrera...
Soy un chaval de 17 anios con muchas ambiciones y espera lo mismo que tod@s de aqui arriba (y supongo que luego tambien de abajo:))

Por eso quiero proponer algo que puede fomentar este foro y espero que tambien la pagina entera.

¿Porque no planteamos retos para hacer programas en c/c++? Por ejemplo, realizar un programa que genere 5 numeros aleatorios , que escriba uno a uno en pantalla y la suma total y que diga cuantos numeros pares han salido. Ya se que es un programa chorra, pero no es mas que un ejemplo:)

Pienso que con estos retos fomentariamos las visitas, y lo mas importante, tod@s aprenderiamos cada vez mas de C/C++.

Se podrían plantear 2 retos a la semana o asi, despues que la gente ponga sus codigos y ver como lo ha hecho cada uno. Poco a poco, ir subiendo el nivel de los retos, hasta el nivel guru¿?:D

Saludos,
   Tenesor

74
C/C++ / Re: Desesperado... :-)
« en: Miércoles 20 de Febrero de 2002, 23:14 »
Bueno, al final he recortado codigo todo lo que he podido, alguien lo puede acortar mas?

Con esto lo que hace es que te pide que le metas caracteres hasta que el usuario pulsa intro. Los va almacenando uno a uno en el elemento [cont] del array txt. Es otra forma de hacerlo, no?


Esta vez he probado el codigo antes de enviarlo al foro:)

Saludos,
   Tenesor


#define ENTER 13

main()
{
   char txt[100], chr;
   int cont;

   printf("nIntroduce caracteres: ");
   while (chr != ENTER)
   {
      chr = getche();
      txt[cont]=chr;
      cont++;   
   }         
}

75
C/C++ / Re: Desesperado... :-)
« en: Miércoles 20 de Febrero de 2002, 22:03 »
Perdona rafael, no vi tu mensaje.

Me gusta esa solucion, solo que creo que se podría acortar un poco.

Ah, una cosa.
A es un array y T un entero
En la sentencia "t=a;" no daria un error de "tipos incompatibles"? O almacenaria el numero de elementos de a en t?

Páginas: 1 2 [3] 4