Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ximenaferneymega en 11 Octubre 2016, 21:18 pm



Título: Hacer Figuras Con Ciclos
Publicado por: ximenaferneymega en 11 Octubre 2016, 21:18 pm
::Por Favor A quien Pueda Ayudarme ::
Soy nueva en esto de la Programacion.Tengo un trabajo y Necesito saber como crear un circulo y un triangulo en C++ donde pudiera crear con cualquier caracter, con una dimenciones segun el usuario y que fuera relleno o vacio, usando solo while, do, for, y if si es necesario.
para quien me pueda ayudar !!!! Mil Gracias ::::: (Y)
Espero su ayuda por favor.
Es importante. Gracias

 :rolleyes:  :rolleyes:  :rolleyes:


Título: Re: Hacer Figuras Con Ciclos
Publicado por: engel lex en 11 Octubre 2016, 23:04 pm
explica que es lo que no sabes espeficicamente o cual es tu duda, si puedes mostrar lo que llevas de codigo tambien sería bueno


Título: Re: Hacer Figuras Con Ciclos
Publicado por: dato000 en 11 Octubre 2016, 23:24 pm
Hay doble post.

mmmm para ser nueva en programación, te estan pidiendo algo considerable.

Básicamente necesitas usar una liberia que te permita visualizar la imagen de acuerdo a los requerimientos, que estas pidiendo:

Hay una libreria hecha por un guru en C++, el sensei Paueky, se llama Miniwin, no es nada complicada y esta explicada con varios videos, perfecta para el ejercicio que necesitas, pero también hay que intentarlo.

http://www.minidosis.org/#/temas/Juegos.MiniWin
https://www.youtube.com/watch?v=2yagNLyWa-M


Título: Re: Hacer Figuras Con Ciclos
Publicado por: ximenaferneymega en 11 Octubre 2016, 23:45 pm
Si la verdad eso pense, pero vengo de otro lado y con esto me he encontrado.

Pero no puedo utilizar mas que la libreria <IOSTREAM> .  No puedo usar otra porque todavia no la hemos visto.


Título: Re:
Publicado por: BlackBlex en 12 Octubre 2016, 00:28 am
Creo que he pillado un poco lo que quieres hacer, dime si estoy en lo correcto:

Creo que no se trata de gráficos ni nada de eso; sólo de poner puntos en un plano o lienzo.

Tienes una matriz de char el cual utilizarás como lienzo o mapa para ubicar a las figuras.

Y tienes que crear un algoritmo el cual "escriba" o "marque" en tu lienzo.

No se si es eso lo que necesitas.

Enviado desde mi MotoG3 mediante Tapatalk


Título: Re: Hacer Figuras Con Ciclos
Publicado por: dato000 en 12 Octubre 2016, 15:07 pm
Si la verdad eso pense, pero vengo de otro lado y con esto me he encontrado.

Pero no puedo utilizar mas que la libreria <IOSTREAM> .  No puedo usar otra porque todavia no la hemos visto.


Ah vale ya entendi, es hacer algo como:

digite caracter: C
digite tipo de figura: triangulo
digite dimension lado: 3

 C
C C
CCC

digite caracter: C
digite tipo de figura: circulo
digite dimension lado: 2

 CC
C  C
C  C
 CC

es así como lo entiendo, si es así??


Título: Re: Hacer Figuras Con Ciclos
Publicado por: ximenaferneymega en 18 Octubre 2016, 21:20 pm
Sip, Asi es eso es justamente lo que necesito, si me puede ayudar con el del circulo, vacio o lleno segun la decision del usuario.


Título: Re: Hacer Figuras Con Ciclos
Publicado por: MAFUS en 18 Octubre 2016, 21:50 pm
Un círculo, sin ver senos, cosenos ni posicionar arbitráriamente el cursor en pantalla puede ser muy difícil.


Título: Re: Hacer Figuras Con Ciclos
Publicado por: chalimbu en 19 Octubre 2016, 01:28 am
hola si el circulo es como comenta data00 este codigo te puede servir estudialo ,si no entiendes algo me avisas :D

Código
  1. //si el circulo es como comenta data00
  2. #include<iostream>//libreria estandar para entrada y salida
  3. using std::cout;//include para poder usar cout o mensajes en pantalla
  4. using std::endl;//nueva linea
  5. using std::cin;//nos permite leer los datos del diametro y el tipo
  6.  
  7. void circuloLleno(int d,char c);//cabecera de la funcion que al llamarla crea el circulo lleno
  8. // de diametro n y con el caracter que pasamos en c y no devuelve nada
  9. void circuloVacio(int d,char c);
  10. void lineaLlena(int,char);
  11. void lineaVacia(int,char);
  12. void primeraYUltima(int,char);
  13.  
  14. int main()
  15. {
  16.  int diametro,tipo;
  17.  char caracter;
  18.  cout<<"caracter";
  19.  cin>>caracter;
  20.  cout<<endl<<"diametro del circulo (mayor que 2)";
  21.  cin>>diametro;
  22.  cout<<"desea el 1. el circulo lleno 2. el circulo vacio";
  23.  cin>>tipo;
  24.  cout<<endl;
  25.  
  26.  if(tipo==1)
  27.  circuloLleno(diametro,caracter);
  28.  else
  29.  circuloVacio(diametro,caracter);
  30.  
  31.  return 0;
  32. }
  33.  
  34. void circuloLleno(int d,char c)
  35. {
  36.  primeraYUltima(d,c);//pone la primera linea sin el primer y ultimo caracter
  37.  cout<<endl;
  38.  int i=1;
  39.  while(i<(d-1))//desde el 1 que es la segunda poscision hasta una menos por la linea final
  40.  //coloca una linea llena(es decir mientras la i sea menor que el tamaño) y para circulo vacio pondra una linea vacia
  41.  {
  42.    lineaLlena(d,c);
  43.    cout<<endl;
  44.    i++;
  45.  }
  46.  primeraYUltima(d,c);
  47. }
  48.  
  49. void circuloVacio(int d,char c)
  50. {
  51.  primeraYUltima(d,c);//pone la primera linea sin el primer y ultimo caracter
  52.  cout<<endl;
  53.  int i=1;
  54.  while(i<(d-1))
  55.  {
  56.    lineaVacia(d,c);
  57.    cout<<endl;
  58.    i++;
  59.  }
  60.  primeraYUltima(d,c);
  61. }
  62.  
  63. void lineaLlena(int t,char c)
  64. {
  65.  int i=0;
  66.  while(i<t)
  67.  {
  68.    cout<<c;
  69.    i++;
  70.  }
  71. }
  72.  
  73. void lineaVacia(int t,char c)
  74. {
  75.  cout<<c;
  76.  int i=1;
  77.  while(i<(t-1))
  78.  {
  79.    cout<<' ';
  80.    i++;
  81.  }
  82.    cout<<c;
  83. }
  84.  
  85. void primeraYUltima(int t ,char c)//esta hace la primera y la ultima linea tanto para circulos
  86. //lenos como vacios
  87. {
  88.  char l=c;//con este char podemos inviertir lo que hicimos arriba en linea vacia
  89.  //cambiando donde ante ponia espacio la l que es el caracter
  90.  c=' ';
  91.  cout<<c;
  92.  int i=1;
  93.  while(i<(t-1))
  94.  {
  95.    cout<<l;
  96.    i++;
  97.  }
  98.    cout<<c;
  99. }
  100.  
  101.  


Título: Re: Hacer Figuras Con Ciclos
Publicado por: ximenaferneymega en 20 Octubre 2016, 20:23 pm
Sip asi era muxas gracias me has ayudado muxo.

 ;-) ;-) ;-) ;-) :laugh: :laugh: :laugh: :laugh:


Título: Re: Hacer Figuras Con Ciclos
Publicado por: dato000 en 22 Octubre 2016, 16:33 pm
Por fin consegui algo de tiempo libre, no creo que sea necesario el uso de funciones. Bueno aquí voy:
Código
  1. #include <stdio.h>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char **argv)
  7. {
  8. int dimension = 10;
  9. char letra = 'B';
  10.  
  11. /////////////////////
  12. // Triangulo Lleno //
  13. /////////////////////
  14. for(int i=0; i<dimension; i++)
  15. {
  16. for(int k=0; k<=i; k++)
  17. {
  18. cout << letra;
  19. }
  20.  
  21. cout << endl;
  22. }
  23. cout << endl << endl << endl;
  24.  
  25. /////////////////////
  26. // Triangulo Vacio //
  27. /////////////////////
  28. for(int i=0; i<dimension-1; i++)
  29. {
  30. for(int k=0; k<=i; k++)
  31. {
  32. if(k==0 || k==i)
  33. {
  34. cout << letra;
  35. }
  36. else
  37. {
  38. cout << " ";
  39. }
  40. }
  41. cout << endl;
  42. }
  43. for(int i=0; i<dimension; i++)
  44. {
  45. cout << letra;
  46. }
  47. cout << endl;
  48. cout << endl << endl << endl;
  49.  
  50. ///////////////////
  51. // Circulo Lleno //
  52. ///////////////////
  53. for(int i=0; i<dimension; i++)
  54. {
  55. for(int k=0; k<dimension; k++)
  56. {
  57. if( (k==0 && i==0) || (k==0 && i==dimension-1) )
  58. {
  59. cout << " ";
  60. }
  61. else if( (k==dimension-1 && i==0) || (k==dimension-1 && i==dimension-1) )
  62. {
  63. cout << " ";
  64. }
  65. else
  66. {
  67. cout << letra;
  68. }
  69. }
  70. cout << endl;
  71. }
  72. cout << endl << endl << endl;
  73.  
  74. ///////////////////
  75. // Circulo Vacio //
  76. ///////////////////
  77. for(int i=0; i<dimension; i++)
  78. {
  79. for(int k=0; k<dimension; k++)
  80. {
  81. if( (k==0 && i==0) || (k==0 && i==dimension-1) )
  82. {
  83. cout << " ";
  84. }
  85. else if( (k==dimension-1 && i==0) || (k==dimension-1 && i==dimension-1) )
  86. {
  87. cout << " ";
  88. }
  89. else if( (k>0 && i>0) && (k<dimension-1 && i<dimension-1))
  90. {
  91. cout << " ";
  92. }
  93. else
  94. {
  95. cout << letra;
  96. }
  97. }
  98. cout << endl;
  99. }
  100. cout << endl << endl << endl;
  101.  
  102.  
  103. return 0;
  104. }

(http://thumbs.subefotos.com/37a7bc714f3a3a3c0131cbf689d6314ao.jpg) (http://subefotos.com/ver/?37a7bc714f3a3a3c0131cbf689d6314ao.png)

Slds