elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Alguien puede ayudarme con este programa ? en C (Linux)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Alguien puede ayudarme con este programa ? en C (Linux)  (Leído 7,743 veces)
tadprox

Desconectado Desconectado

Mensajes: 8



Ver Perfil WWW
Re: Alguien puede ayudarme con este programa ? en C (Linux)
« Respuesta #10 en: 3 Junio 2013, 23:26 pm »

Eso ya es cosa tuya, aqui nadie va a hacerte la tarea. Ya tienes lo basico de como poder graficar una funcion en modo consola, solo has de usar la funcion printf() y ponerle las condiciones necesarias para que te dibuje en pantalla lo que tu quieras.

Quieres por ejemplo que de cada cinco lineas horizontales, una de ellas este compuesta por el simbolo '-' y las cuatro restantes por espacios en blanco ' ', pues usa if y pones en su condicion todo esto ultimo.

Ok pero, no es solo graficar tal cual como esta en la imagen, porque ademas, deberia tener estas otras 2 opciones

Para la salida se debe poder definir los valores mínimos y máximo de los ejes, intervalos de la rejilla. Pero paquete puede realizar algunos de estos cálculos de forma automática.
- Se podría trabajar con dos ejes en la Y, para lo cual se definir una serie se le puede asociar con cuál de los dos ejes está trabajando.

Y claro, podria hacerlo con un simple printf y las condiciones que me dices, pero como adaptarlo segun esas 2 cosas, que tambien deberia poder hacer? Algun consejo? Y no estoy pidiendo que me lo hagan, sino que me aconsejen, no malinterpretes, no quiero que me lo hagan, solo que me ayuden a entender, y ayudarme...Ayudar no es hacer todo completo.

Saludos!


En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Alguien puede ayudarme con este programa ? en C (Linux)
« Respuesta #11 en: 4 Junio 2013, 08:07 am »

Si estás trabajando en Linux, talvés quieras investigar un poco sobre als librerías ncurses. Seguramente te facilitarán muchísimo la tarea.
Documentación: ncurses

Saludos


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Alguien puede ayudarme con este programa ? en C (Linux)
« Respuesta #12 en: 4 Junio 2013, 18:01 pm »


Recien lo que hice fue una funcion Gotoxy aqui en Debian (Linux) que me permite posicionar el texto o algo donde yo quiera.. Pero no se como graficar esas funciones asi de esa forma


Pues te muestro una imagen del seno entre 0 y 2Pi:



mejorable eligiendo más adecuadamente los valores de i. Pero de muestra creo que te sirve.

Por cierto, el código de gotoxy es para windows. Tan solo tienes que adaptar tu Goto de linux y el dibujo en sí, con el bucle for, te sirve igual:


Código
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <windows.h>
  5.  
  6. int main(){
  7.    float i=0,j=0,seno[100]={0},temp=0;
  8.    int x=0,y=0,cont=0;
  9.    for (i=0;i<=2*3.14165;i+=0.10)
  10.    {
  11.        x=(int)(i*10);
  12.        y=(int)(10-sin (i)*10);
  13.        gotoxy (x,y);
  14.        printf ("*");
  15.    }
  16.    gotoxy (0,20);
  17.    system ("pause");
  18.    return 0;
  19. }
  20. int gotoxy(int x, int y)
  21. {
  22.   COORD coord;
  23.   HANDLE h_stdout;
  24.   coord.X = x;
  25.   coord.Y = y;
  26.   if ((h_stdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE)
  27.      return 0;
  28.   if (SetConsoleCursorPosition(h_stdout, coord) == 0)
  29.      return 0;
  30.   return 1;
  31. }
  32.  


Saluditos! .... ..
« Última modificación: 4 Junio 2013, 18:08 pm por leosansan » En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Alguien puede ayudarme con este programa ? en C (Linux)
« Respuesta #13 en: 4 Junio 2013, 18:43 pm »

Estoy fascinado Leo, en cada post me sorprendes con algo nuevo  ;-)

Creo que podríamos considerarte el amo del lenguaje C.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Alguien puede ayudarme con este programa ? en C (Linux)
« Respuesta #14 en: 4 Junio 2013, 19:14 pm »


Una ligera mejora:



Código
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <windows.h>
  5.  
  6. int main(){
  7.    system("mode 110,40");
  8.    float i=0,j=0,seno[100]={0},temp=0;
  9.    int x=0,y=0,cont=0;
  10.    for (i=0;i<=2*3.14165;i+=0.10)
  11.    {
  12.        x=(int)(i*15);
  13.        y=(int)(15-sin (i)*15);
  14.        gotoxy (x,y+5);
  15.        printf ("*");
  16.        gotoxy (x,20);
  17.        printf ("-");
  18.        gotoxy (0,y+5);
  19.        printf ("|");
  20.    }
  21.    gotoxy (x,20);
  22.        printf ("----> EJE OX");
  23.    gotoxy (0,5);
  24.        printf ("^ EJE OY");
  25.    gotoxy (0,35);
  26.    system ("pause");
  27.    return 0;
  28. }
  29. int gotoxy(int x, int y)
  30. {
  31.   COORD coord;
  32.   HANDLE h_stdout;
  33.   coord.X = x;
  34.   coord.Y = y;
  35.   if ((h_stdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE)
  36.      return 0;
  37.   if (SetConsoleCursorPosition(h_stdout, coord) == 0)
  38.      return 0;
  39.   return 1;
  40. }
  41.  

Saluditos! .... ..

P.D: Penita pena tienes que "estirar" a lo ancho la página  o hacer uso de la barra horizontal de desplazamiento para ver la imagen completa.Bueno, si estas interesado ejecuta el código que, como curiosidad, cambia automáticamente el tamaño de la consola para que se vea la curva entera  :o

P.D:P.D: Es León, no Leo querido colega amchacon .... y gracias por lo dicho por tí, pero no es para tanto, de veras.
« Última modificación: 4 Junio 2013, 20:30 pm por leosansan » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines