Programación C++ Ayuda Por Favor

Iniciado por ANONIMO26, 27 Abril 2020, 05:15 AM

0 Miembros y 1 Visitante están viendo este tema.

ANONIMO26

¿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;  

}

K-YreX

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

#include <iostream>
using namespace std;

const int SIZE = 5; // Constante para las filas y columnas de la matriz. Mejor que sea impar para tener una fila y columna media

int main(){
  char matriz[SIZE][SIZE];

  // Voy a definir constantes para la E:
  int alto = SIZE; // De alto que ocupe toda la matriz (5)
  int ancho = SIZE; // La parte horizontal de arriba y abajo tambien (5)
  int anchoMedio = SIZE / 2 + 1; // Y la barra del medio: la mitad + 1 (3)

  // Rellenar la fila de arriba (0). Para rellenar la fila de abajo es igual cambiando el 0 por (alto-1).
  for(int i = 0; i < ancho; ++i){
    matriz[0][i] = '*';
  }

  // Rellenar el alto
  for(int i = 0; i < alto; ++i){
    matriz[i][0] = '*';
  }

  // Rellenar la barra del medio
  for(int i = 0; i < anchoMedio; ++i){
    matriz[alto/2+1][i] = '*'; // El +1 es para obtener la fila media de una matriz impar.
  }
}


Para mostrar una matriz:
Código (cpp) [Seleccionar]

for(int i = 0; i < filas; ++i){
  for(int j = 0; j < columnas; ++j){
    cout << matriz[i][j] << " ";
  }
  cout << endl;
}

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

for(int i = 0; i < size; ++i){
  matriz[i][i] = '*';
}


Luego ya que se vea mejor o peor dependerá de los tamaños elegidos y la forma que se le de a la letra.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

@XSStringManolo

Te lo hice de forma sencilla para que veas como escribir las letras.
Código (cpp) [Seleccionar]
#include <iostream>

#define SL "\n"
#define E "*******\n*\n*\n*******\n*\n*\n*******"
#define T "*******\n *\n *\n *\n *\n *\n *"
#define N "** *\n* * *\n* * *\n* * *\n* **\n* *"

int main() {
  std::cout << SL E SL SL SL T SL SL SL N SL SL SL;
 
  #ifdef _WIN32_
    std::cin.get();
  #endif

  return 0;
}



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