Ir ao conteúdo
  • Cadastre-se

C "formar" um coração em print()


Posts recomendados

eu queria saber uma sequencia de dígitos ou algo do tipo que formasse um coração no console, é meio que pra uma pessoa especial😆

#include<stdio.h>

int main(void){

    printf(" ");
    
return 0;

}

e queria saber se no meio desse coração poderia ter um espaço para deixar uma mensagem ou algo do tipo

ficaria muito agradecido pela ajuda

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Leoonardoos     você pode usar uma matriz[24][6] , para armazenar hum desenho no formato de um coração , e depois imprimi-lo na tela , escrevendo o que está na matriz , e para colocar uma mensagem  , você pode usar uma função chamada gotoxy , que posiciona o cursor na tela , nas coordenadas coluna e linha da tela ,  e em seguida escreve a mensagem a  partir daquela posição .   faça seu código e poste aqui para podermos ajudar   .

 

 

Link para o comentário
Compartilhar em outros sites

/* Site--> http://www.scrape.com.br/desenho-ascii.htm#ixzz6LsROvtdf */

#include <stdio.h>
int main (void){
	printf
	(
          "______*#######* \n"
          "____*##########* \n"
          "__*############## \n"
          "__################ \n"
          "_##################_________*####* \n"
          "__##################_____*########## \n"
          "__##################___*############# \n"
          "___#################*_###############* \n"
          "____#################################* \n"
          "______############################### \n"
          "_______############################# \n"
          "________=########################## \n"
          "__________######################## \n"
          "___________*##################### \n"
          "____________*################## \n"
          "_____________*############### \n"
          "_______________############# \n"
          "________________########## \n"
          "________________=#######* \n"
          "_________________###### \n"
          "__________________#### \n"
          "__________________### \n"
          "___________________# \n"
	);
	return 0;
}

Coloque sua mensagem; substitua cada (#) quando necessário.

  • Curtir 2
  • Amei 1
Link para o comentário
Compartilhar em outros sites

matriz = []
nome = "amor"

for y in range(30, -30, -1):
    linha = []
    for x in range(-30, 30):
        if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (
            y * 0.1
        ) ** 3 <= 0:
            linha.append(nome[(x - y) % len(nome)])
        else:
            linha.append(" ")
    matriz.append("".join(linha))

print("\n".join(matriz))

https://repl.it/@claricec/RosybrownUnusedGraph

 

deu mais ou menos certo

 

 

ps: eu tive essa mesma ideia kkkkkkkkkkkkkkkkkkkk

https://cassiobotaro.dev/amor-programador.html

  • Obrigado 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

13 horas atrás, devair1010 disse:

@Brazilian student    python , bom  , ficou ótimo ,  mas e nalinguagem c++ ? 

 

Em C++ é fácil, dá pra seguir os mesmos passos do código do @Brazilian student em Python:

#include <iostream>
#include <vector>
#include <string>
#include <cmath>

using namespace std;

int main()
{
    vector<string> heart;
    string nome = "Amor";
    
    for(int y=39; y>-39; y--){
        string linha = "";
        for(int x=-39; x<39; x++){
            if (pow(pow(x*0.05, 2.0) + pow(y*0.1, 2.0) - 1.0, 3.0) - pow(x*0.05, 2.0)*pow(y*0.1,3) <= 0){
                linha.push_back(nome[(x - y) % nome.length()]);
            }
            else {
                linha.push_back(' ');
            }
        }
        if (linha.find_first_not_of(" ") != string::npos){
            heart.push_back(linha);
        }
    }
    for (auto lin : heart){
        cout << lin << endl;
    }

    return 0;
}

 

  • Curtir 2
  • Amei 1
Link para o comentário
Compartilhar em outros sites

A menos que seja visto como um desafio pessoal ou algo imposto, não faz sentido criar um programa para um único desenho.

Compilar o programa para gerar algo já é algo esquisito: imagine ter que compilar o código para mudar uma curva no coraçãozinho... A cada curva nova.

 

Quer desenhar um quadrado? Outro programa. Um triângulo? Outro programa.

 

Talvez um programa para desenhar corações ao menos, que aceitasse parâmetros e aprendesse com o tempo.

 

Ou o simples como eu disse: um programa que copia desenhos de um arquivo e aceite alguns parâmetros como cor e intensidade do traço.

 

Que tal um programa plotter? Comandos:

  • baixa a caneta 
  • levanta a caneta
  • move a caneta numa direção
  • muda a cor da caneta
  • limpa o desenho
  • imprime
  • termina

Original? nada original. Mas desenha qualquer coisa. Afinal um plotter é assim.

 

E programas como o Turtle Graphics (para crianças) que rodava no Apple. Que Apple? o Apple II nos '70. Era assim também. Um plotter tartaruga para crianças desenharem na tela. Na tela verde, claro. E já não era original.

 

Qualquer semelhança com o turtle do phyton é porque é a mesma coisa. Não sei porque o Brazilian Student citado não usou turtle para desenhar o meigo coração, já que basta usar import turtle e começar a desenhar e foi feito para isso afinal. E pode ler de arquivos. E foi feito para crianças.

turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)

Exemplo para desenhar um quadrado em Desenhando um quadrado com a tartaruga em Phyton

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...