Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ANONIMO26 en 27 Abril 2020, 05:15 am



Título: Programación C++ Ayuda Por Favor
Publicado por: ANONIMO26 en 27 Abril 2020, 05:15 am
¿Como cargar una tabla con asteriscos formando la letra E,T,N.Imprima la Matriz? (C++)?
Cada unas individuales (En total serian tres problemas)


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

using namespace std;
{
int main(void

cout << "*******"<<endl;
          
cout << "*              

cout << "*                
  
cout << "********"<<endl;

cout << "*                  

cout << "*  
                  
cout << "*                    

cout << "* *****"<<endl;



return 0;  

}


Título: Re: Programación C++ Ayuda Por Favor
Publicado por: K-YreX en 27 Abril 2020, 05:37 am
No se hacen tareas. Sé más específico tanto con lo que se pide como con cuál es tu duda.
Si quieres recibir ayuda vas a tener que cambiar la pregunta y poner lo que lleves hecho (entre etiquetas de Código GeSHi).


EDIT: Bueno pues lo que tienes que hacer es crear una matriz (tabla) y en cada celda ir poniendo un asterisco o dejarla vacía para que al mostrar la matriz se vea cada una de las letras. La forma más fácil es usar una matriz cuadrada y rellenar partes de la matriz por separado. (También puedes encontrar un patrón y hacer la matriz en un único bucle pero me parece más complicado para empezar).
Supongo también que no has llegado al paso de matrices por parámetros así que lo haré todo en el main. Ya digo y repito que no es la mejor solución pero es fácil de ver.
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int SIZE = 5; // Constante para las filas y columnas de la matriz. Mejor que sea impar para tener una fila y columna media
  5.  
  6. int main(){
  7.  char matriz[SIZE][SIZE];
  8.  
  9.  // Voy a definir constantes para la E:
  10.  int alto = SIZE; // De alto que ocupe toda la matriz (5)
  11.  int ancho = SIZE; // La parte horizontal de arriba y abajo tambien (5)
  12.  int anchoMedio = SIZE / 2 + 1; // Y la barra del medio: la mitad + 1 (3)
  13.  
  14.  // Rellenar la fila de arriba (0). Para rellenar la fila de abajo es igual cambiando el 0 por (alto-1).
  15.  for(int i = 0; i < ancho; ++i){
  16.    matriz[0][i] = '*';
  17.  }
  18.  
  19.  // Rellenar el alto
  20.  for(int i = 0; i < alto; ++i){
  21.    matriz[i][0] = '*';
  22.  }
  23.  
  24.  // Rellenar la barra del medio
  25.  for(int i = 0; i < anchoMedio; ++i){
  26.    matriz[alto/2+1][i] = '*'; // El +1 es para obtener la fila media de una matriz impar.
  27.  }
  28. }

Para mostrar una matriz:
Código
  1. for(int i = 0; i < filas; ++i){
  2.  for(int j = 0; j < columnas; ++j){
  3.    cout << matriz[i][j] << " ";
  4.  }
  5.  cout << endl;
  6. }
Tendrás que sustituir <filas> y <columnas> por el nombre de tus variables.

Diciéndote cómo se hace la E, puedes hacer perfectamente la T. Y para la N te dejo como pista que puedes rellenar la diagonal principal de una matriz con:
Código
  1. for(int i = 0; i < size; ++i){
  2.  matriz[i][i] = '*';
  3. }

Luego ya que se vea mejor o peor dependerá de los tamaños elegidos y la forma que se le de a la letra.


Título: Re: Programación C++ Ayuda Por Favor
Publicado por: @XSStringManolo en 27 Abril 2020, 18:59 pm
Te lo hice de forma sencilla para que veas como escribir las letras.
Código
  1. #include <iostream>
  2.  
  3. #define SL "\n"
  4. #define E "*******\n*\n*\n*******\n*\n*\n*******"
  5. #define T "*******\n *\n *\n *\n *\n *\n *"
  6. #define N "** *\n* * *\n* * *\n* * *\n* **\n* *"
  7.  
  8. int main() {
  9.  std::cout << SL E SL SL SL T SL SL SL N SL SL SL;
  10.  
  11.  #ifdef _WIN32_
  12.    std::cin.get();
  13.  #endif
  14.  
  15.  return 0;
  16. }


Ahora en base a como crear las letras y los ejemplos que te ha puesto YreX-DwX debes crear tu programa de cero.


Título: Re: Programación C++ Ayuda Por Favor
Publicado por: ANONIMO26 en 27 Abril 2020, 19:02 pm
muchas Gracias