Test Foro de elhacker.net SMF 2.1

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
Cita de: 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.


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 (cpp) [Seleccionar]

//si el circulo es como comenta data00
#include<iostream>//libreria estandar para entrada y salida
using std::cout;//include para poder usar cout o mensajes en pantalla
using std::endl;//nueva linea
using std::cin;//nos permite leer los datos del diametro y el tipo

void circuloLleno(int d,char c);//cabecera de la funcion que al llamarla crea el circulo lleno
// de diametro n y con el caracter que pasamos en c y no devuelve nada
void circuloVacio(int d,char c);
void lineaLlena(int,char);
void lineaVacia(int,char);
void primeraYUltima(int,char);

int main()
{
  int diametro,tipo;
  char caracter;
  cout<<"caracter";
  cin>>caracter;
  cout<<endl<<"diametro del circulo (mayor que 2)";
  cin>>diametro;
  cout<<"desea el 1. el circulo lleno 2. el circulo vacio";
  cin>>tipo;
  cout<<endl;

  if(tipo==1)
  circuloLleno(diametro,caracter);
  else
  circuloVacio(diametro,caracter);

  return 0;
}

void circuloLleno(int d,char c)
{
  primeraYUltima(d,c);//pone la primera linea sin el primer y ultimo caracter
  cout<<endl;
  int i=1;
  while(i<(d-1))//desde el 1 que es la segunda poscision hasta una menos por la linea final
  //coloca una linea llena(es decir mientras la i sea menor que el tamaño) y para circulo vacio pondra una linea vacia
  {
    lineaLlena(d,c);
    cout<<endl;
    i++;
  }
  primeraYUltima(d,c);
}

void circuloVacio(int d,char c)
{
  primeraYUltima(d,c);//pone la primera linea sin el primer y ultimo caracter
  cout<<endl;
  int i=1;
  while(i<(d-1))
  {
    lineaVacia(d,c);
    cout<<endl;
    i++;
  }
  primeraYUltima(d,c);
}

void lineaLlena(int t,char c)
{
  int i=0;
  while(i<t)
  {
    cout<<c;
    i++;
  }
}

void lineaVacia(int t,char c)
{
  cout<<c;
  int i=1;
  while(i<(t-1))
  {
    cout<<' ';
    i++;
  }
    cout<<c;
}

void primeraYUltima(int t ,char c)//esta hace la primera y la ultima linea tanto para circulos
//lenos como vacios
{
  char l=c;//con este char podemos inviertir lo que hicimos arriba en linea vacia
  //cambiando donde ante ponia espacio la l que es el caracter
  c=' ';
  cout<<c;
  int i=1;
  while(i<(t-1))
  {
    cout<<l;
    i++;
  }
    cout<<c;
}

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 (cpp) [Seleccionar]

#include <stdio.h>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
int dimension = 10;
char letra = 'B';

/////////////////////
// Triangulo Lleno //
/////////////////////
for(int i=0; i<dimension; i++)
{
for(int k=0; k<=i; k++)
{
cout << letra;
}

cout << endl;
}
cout << endl << endl << endl;

/////////////////////
// Triangulo Vacio //
/////////////////////
for(int i=0; i<dimension-1; i++)
{
for(int k=0; k<=i; k++)
{
if(k==0 || k==i)
{
cout << letra;
}
else
{
cout << " ";
}
}
cout << endl;
}
for(int i=0; i<dimension; i++)
{
cout << letra;
}
cout << endl;
cout << endl << endl << endl;

///////////////////
// Circulo Lleno //
///////////////////
for(int i=0; i<dimension; i++)
{
for(int k=0; k<dimension; k++)
{
if( (k==0 && i==0) || (k==0 && i==dimension-1) )
{
cout << " ";
}
else if( (k==dimension-1 && i==0) || (k==dimension-1 && i==dimension-1) )
{
cout << " ";
}
else
{
cout << letra;
}
}
cout << endl;
}
cout << endl << endl << endl;

///////////////////
// Circulo Vacio //
///////////////////
for(int i=0; i<dimension; i++)
{
for(int k=0; k<dimension; k++)
{
if( (k==0 && i==0) || (k==0 && i==dimension-1) )
{
cout << " ";
}
else if( (k==dimension-1 && i==0) || (k==dimension-1 && i==dimension-1) )
{
cout << " ";
}
else if( (k>0 && i>0) && (k<dimension-1 && i<dimension-1))
{
cout << " ";
}
else
{
cout << letra;
}
}
cout << endl;
}
cout << endl << endl << endl;


return 0;
}


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

Slds