• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program drukujący na ekranie pierwszą literę M.

Object Storage Arubacloud
0 głosów
503 wizyt
pytanie zadane 12 grudnia 2021 w C i C++ przez olcia Nowicjusz (200 p.)
Program drukujący na ekranie pierwszą literę M.
N.p.
FFFFFFF
F
F
F
FFFF
F
F
F

Na wejściu powinien być podany parametr określający wielkość litery.

Mam takie polecenie i nie wiem czy robie to dobry spoobem

#include <iostream>

using namespace std;

int main() {
    for (int i = 0; i < 1; ++i) {
        cout << "MM                        MM\n"<< endl;
        cout << "MMMM                   MMMM\n"<< endl;
        cout << "MM  MM                MMMM\n"<< endl;
        cout << "MM    MM          MM   MM\n"<< endl;
        cout << "MM        MM        MM  MM\n"<< endl;
        cout << "MM        MM MM        MM\n"<< endl;
        cout << "MM         MM              MM\n"<< endl;
     }
1
komentarz 12 grudnia 2021 przez Wiciorny Ekspert (269,710 p.)
sformatuj kod do bloczków.
Na razie to nie robisz nic po za wypisywaniem tego samego w pętli która nie dość że jest pętlą o długości 1- czyli bez sensu
komentarz 13 grudnia 2021 przez TOWaD Mądrala (5,700 p.)
edycja 13 grudnia 2021 przez TOWaD
// Example program
#include <iostream>
#include <string>

int main()
{
  std::string name= R"(
FFFFFFF
F
F
F
FFFF
F
F
F
)";
  std::cout << name << "!\n";
}

https://en.cppreference.com/w/cpp/language/string_literal

edit:: sorki nie doczytałem pytania, powyższy sposób jest bezsensu,

bardziej tak i y=ax+b;

int x=4;
int y=4;
std::string s(x, '=');
s+='\n';
 std::vector<std::string> words4(y, "s");

https://en.cppreference.com/w/cpp/container/vector/vector

https://en.cppreference.com/w/cpp/string/basic_string/basic_string

edit 2: taki szkielet programu w dużym uproszczeniu

/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

// Example program
#include <iostream>
#include <string>
#include <vector>

int
main ()
{
  int x = 11, y = 7;
  {
    std::string col (x, '.');
    std::vector < std::string > row (y, col);
  for (auto & z:row)
      {
	z.at (0) = 'H';
	z.at (z.size () - 1) = 'H';
      }
    int mrow = row.size () / 2;
    row.at (mrow) = std::string (x, 'H');

  for (auto z:row)
      std::cout << z << std::endl;
  }
std::cout<<'\n'<<std::string(x,'_')<<'\n'<<std::endl;
  {
    std::string col (x, '.');
    std::vector < std::string > row (y, col);
  for (auto & z:row)
      {
	z.at (0) = 'H';
	z.at (z.size () - 1) = 'H';
      }
    int mrow = col.size () / 2;
  for (auto & z:row)
      if (mrow > 0)
	z.at (mrow--) = 'H';
    mrow = col.size () / 2;
  for (auto & z:row)
      if (mrow < z.size ())
	z.at (mrow++) = 'H';


  for (auto z:row)
      std::cout << z << std::endl;
  }
}

 

1 odpowiedź

0 głosów
odpowiedź 14 grudnia 2021 przez TOWaD Mądrala (5,700 p.)
edycja 14 grudnia 2021 przez TOWaD

By była odpowiedz, usmieszek

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

struct coord
{
  float percentX;
  float percentY;
};
int
main ()
{
  int x = 20, y = 10;

// table for draw
  std::string col (x, '.');
  std::vector < std::string > rows (y, col);

  const coord eyeleft = { 0.3, 0.3 };
  const coord eyeright = { 0.6, 0.3 };

  std::vector < coord > nose =  {{0.4, 0.4},{0.5, 0.4}};
for (coord & c:nose)
    rows.at (y * c.percentY).at (x * c.percentX) = 'I';

  std::vector < coord > noseholes ={{0.4, 0.5},{0.5, 0.5}};
for (coord & c:noseholes)
    rows.at (y * c.percentY).at (x * c.percentX) = '0';

  std::vector < coord > mouth =
  {{0.2, 0.6},{0.3, 0.7},{0.4, 0.8},{0.5, 0.8},{0.6, 0.7},{0.7, 0.6}};

  rows.at (y * eyeleft.percentY).at (x * eyeleft.percentX) = 'O';
  rows.at (y * eyeright.percentY).at (x * eyeright.percentX) = 'O';
for (coord & c:mouth)
    rows.at (y * c.percentY).at (x * c.percentX) = 'x';


for (const auto & z:rows)
    std::cout << z << std::endl;
  return 0;
}

edit:: taki komentarz przy ewentualnym bad_alloc error


  size_t x = 20, y = 10;
.................
for (coord & c:nose)
 if(y * c.percentY<y && x * c.percentX<x )
    rows.at (y * c.percentY).at (x * c.percentX) = 'I';
else std::cerr<<'' poleciało za tablicę, badalloc error"<<std::endl;

//////////////////////////////////////////////////////////////////////
  int x = 20, y = 10;
.................
for (coord & c:nose)
 if(c.percentY>=0 && c.percentY<1 && c.percentX<1 && c.percentX>=0)
    rows.at (y * c.percentY).at (x * c.percentX) = 'I';
else std::cerr<<'' poleciało za tablicę, badalloc error"<<std::endl;

 

Podobne pytania

–1 głos
1 odpowiedź 3,931 wizyt
pytanie zadane 15 września 2018 w C i C++ przez TheOlllie Nowicjusz (150 p.)
0 głosów
1 odpowiedź 545 wizyt
0 głosów
1 odpowiedź 671 wizyt

92,563 zapytań

141,413 odpowiedzi

319,590 komentarzy

61,948 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...