DearOohDeer

Wypisywanie slow - ASCI

May 2nd, 2021 (edited)
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 15.02 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cctype>
  4. using namespace std;
  5. int Sprawdz_Dlugosc( char*w)
  6. {
  7.     char* p = w;
  8.     int Dlugosc =0;
  9.     while (*w)
  10.     {
  11.         if( (*w >= 'A' && *w <= 'Z') ||(*w >= 'a' && *w <= 'z') ||' ')
  12.         {
  13.             Dlugosc++;
  14.         }
  15.         w++;
  16.     }
  17.     w = p;
  18.     return Dlugosc;
  19. }
  20.  
  21. bool Sprawdz_CzyOK( char*w)
  22. {
  23.     char* p = w;
  24.     while (*w)
  25.     {
  26.         if((*w >= 'A' && *w <= 'Z') ||(*w >= 'a' && *w <= 'z') ||' ')
  27.         {
  28.         }else return false;
  29.         w++;
  30.     }
  31.     w = p;
  32.     return true;
  33. }
  34. void Ustawienie_Do_Duzej( char*w)
  35. {
  36.     char* p = w;
  37.     while (*w)
  38.     {
  39.       *w = (toupper(*w));
  40.       w++;
  41.     }
  42.     w = p;
  43. }
  44.  
  45. void Wypisywanie_Liter (char*w)
  46. {
  47.     char* p = w;
  48.     int i = 0;
  49.     int j = 0;
  50.     int Dlugosc = Sprawdz_Dlugosc(w);
  51.     //cout << "Dlugosc: " << Dlugosc <<endl;
  52.     char Tekst_ASCI[5][Dlugosc*13];
  53.     //cout << "Dlugosc*13: " << Dlugosc*13<<endl;
  54.     int n=0;
  55.     int l=0;
  56.  
  57. //Wypelniam calosc spacjami by pozbyc sie smieciowych wartosci.
  58.     for(i=0; i<5; i++)
  59.     {
  60.         for(j=0; j<(Dlugosc*13); j++)
  61.         {
  62.             Tekst_ASCI[i][j] = 32;
  63.         }
  64.     }
  65.  
  66.    while(*w)
  67.     {
  68.        //Sprawdzenie do jakiego char prowadzi adres i uzycie go w switchu.
  69.        //Nastepnie przypisanie liter do odpowiednich miejsc w tablicy 2D.
  70.         switch (*w)
  71.         {
  72.             case ' ':
  73.                 l+=9;
  74.                 break;
  75.             case 'A':
  76.                 Tekst_ASCI[0][l+4]='A'; Tekst_ASCI[0][l+5]='A';
  77.                 Tekst_ASCI[1][l+3]='A';  Tekst_ASCI[1][l+6]='A';
  78.                 Tekst_ASCI[2][l+2]='A'; Tekst_ASCI[2][l+7]='A';
  79.                 for(n = 2; n<=7;n++)
  80.                 {
  81.                     Tekst_ASCI[3][l+n]='A';
  82.                 }
  83.                 Tekst_ASCI[4][l+1]='A'; Tekst_ASCI[4][l+8]='A';
  84.                 l+=10;
  85.                 break;
  86.             case 'B':
  87.                 for(n = 1; n<=5;n++)
  88.                 {
  89.                     Tekst_ASCI[0][l+n]='B';
  90.                 }
  91.                 Tekst_ASCI[1][l+1]='B';  Tekst_ASCI[1][l+6]='B';
  92.                 for(n = 1; n<=5;n++)
  93.                 {
  94.                     Tekst_ASCI[2][l+n]='B';
  95.                 }
  96.                 Tekst_ASCI[3][l+1]='B';  Tekst_ASCI[3][l+6]='B';
  97.                 for(n = 1; n<=5;n++)
  98.                 {
  99.                     Tekst_ASCI[4][l+n]='B';
  100.                 }
  101.                 l+=8;
  102.                 break;
  103.             case 'C':
  104.                 for(n = 3; n<=8;n++)
  105.                 {
  106.                     Tekst_ASCI[0][l+n]='C';
  107.                 }
  108.                 Tekst_ASCI[1][l+2]='C';
  109.                 Tekst_ASCI[2][l+1]='C';
  110.                 Tekst_ASCI[3][l+2]='C';
  111.                 for(n = 3; n<=8;n++)
  112.                 {
  113.                     Tekst_ASCI[4][l+n]='C';
  114.                 }
  115.                 l+=10;
  116.                 break;
  117.             case 'D':
  118.                 for(n = 1; n<=5;n++)
  119.                 {
  120.                     Tekst_ASCI[0][l+n]='D';
  121.                 }
  122.                 Tekst_ASCI[1][l+1]='D'; Tekst_ASCI[1][l+6]='D';
  123.                 Tekst_ASCI[2][l+1]='D'; Tekst_ASCI[2][l+7]='D';
  124.                 Tekst_ASCI[3][l+1]='D'; Tekst_ASCI[3][l+6]='D';
  125.                 for(n = 1; n<=5;n++)
  126.                 {
  127.                     Tekst_ASCI[4][l+n]='D';
  128.                 }
  129.                 l+=9;
  130.                 break;
  131.             case 'E':
  132.                 for(n = 1; n<=6;n++)
  133.                 {
  134.                     Tekst_ASCI[0][l+n]='E';
  135.                 }
  136.                 Tekst_ASCI[1][l+1]='E';
  137.                 for(n = 1; n<=5;n++)
  138.                 {
  139.                     Tekst_ASCI[2][l+n]='E';
  140.                 }
  141.                 Tekst_ASCI[3][l+1]='E';
  142.                 for(n = 1; n<=6;n++)
  143.                 {
  144.                     Tekst_ASCI[4][l+n]='E';
  145.                 }
  146.                 l+=8;
  147.                 break;
  148.             case 'F':
  149.                 for(n = 1; n<=6;n++)
  150.                 {
  151.                     Tekst_ASCI[0][l+n]='F';
  152.                 }
  153.                 Tekst_ASCI[1][l+1]='F';
  154.                 for(n = 1; n<=5;n++)
  155.                 {
  156.                     Tekst_ASCI[2][l+n]='F';
  157.                 }
  158.                 Tekst_ASCI[3][l+1]='F';
  159.                 Tekst_ASCI[4][l+1]='F';
  160.                 l+=8;
  161.                 break;
  162.             case 'G':
  163.                 for(n = 2; n<=7;n++)
  164.                 {
  165.                     Tekst_ASCI[0][l+n]='G';
  166.                 }
  167.                 Tekst_ASCI[1][l+1]='G';
  168.                 Tekst_ASCI[2][l+1]='G';
  169.                 for(n = 4; n<=8;n++)
  170.                 {
  171.                     Tekst_ASCI[2][l+n]='G';
  172.                 }
  173.                 Tekst_ASCI[3][l+1]='G'; Tekst_ASCI[3][l+8]='G';
  174.                 for(n = 2; n<=8;n++)
  175.                 {
  176.                     Tekst_ASCI[4][l+n]='G';
  177.                 }
  178.                 l+=9;
  179.                 break;
  180.             case 'H':
  181.                 Tekst_ASCI[0][l+1]='H'; Tekst_ASCI[0][l+6]='H';
  182.                 Tekst_ASCI[1][l+1]='H'; Tekst_ASCI[1][l+6]='H';
  183.                 for(n = 1; n<=6;n++)
  184.                 {
  185.                     Tekst_ASCI[2][l+n]='H';
  186.                 }
  187.                 Tekst_ASCI[3][l+1]='H'; Tekst_ASCI[3][l+6]='H';
  188.                 Tekst_ASCI[4][l+1]='H'; Tekst_ASCI[4][l+6]='H';
  189.                 l+=9;
  190.                 break;
  191.             case 'I':
  192.                 for(n = 1; n<=3;n++)
  193.                 {
  194.                     Tekst_ASCI[0][l+n]='I';
  195.                 }
  196.                 Tekst_ASCI[1][l+2]='I';
  197.                 Tekst_ASCI[2][l+2]='I';
  198.                 Tekst_ASCI[3][l+2]='I';
  199.                 for(n = 1; n<=3;n++)
  200.                 {
  201.                     Tekst_ASCI[4][l+n]='I';
  202.                 }
  203.                 l+=6;
  204.                 break;
  205.             case 'J':
  206.                 for(n = 3; n<=6;n++)
  207.                 {
  208.                     Tekst_ASCI[0][l+n]='J';
  209.                 }
  210.                 Tekst_ASCI[1][l+6]='J';
  211.                 Tekst_ASCI[2][l+6]='J';
  212.                 Tekst_ASCI[3][l+6]='J';  Tekst_ASCI[3][l+1]='J';
  213.                 for(n = 2; n<=6;n++)
  214.                 {
  215.                     Tekst_ASCI[4][l+n]='J';
  216.                 }
  217.                 l+=8;
  218.                 break;
  219.             case 'K':
  220.                 Tekst_ASCI[0][l+1]='K'; Tekst_ASCI[0][l+6]='K';
  221.                 Tekst_ASCI[1][l+1]='K'; Tekst_ASCI[1][l+4]='K';
  222.                 Tekst_ASCI[2][l+1]='K'; Tekst_ASCI[2][l+2]='K';
  223.                 Tekst_ASCI[3][l+1]='K'; Tekst_ASCI[3][l+4]='K';
  224.                 Tekst_ASCI[4][l+1]='K'; Tekst_ASCI[4][l+6]='K';
  225.                 l+=8;
  226.                 break;
  227.             case 'L':
  228.                 Tekst_ASCI[0][l+1]='L';
  229.                 Tekst_ASCI[1][l+1]='L';
  230.                 Tekst_ASCI[2][l+1]='L';
  231.                 Tekst_ASCI[3][l+1]='L';
  232.                 for(n = 1; n<=6;n++)
  233.                 {
  234.                     Tekst_ASCI[4][l+n]='L';
  235.                 }
  236.                 l+=8;
  237.                 break;
  238.             case 'M':
  239.                 Tekst_ASCI[0][l+1]='M'; Tekst_ASCI[0][l+9]='M';
  240.                 for (n =1 ;n<=3; n++)
  241.                 {
  242.                     Tekst_ASCI[1][l+n]='M';
  243.                 }
  244.                 for (n =7 ;n<=9; n++)
  245.                 {
  246.                     Tekst_ASCI[1][l+n]='M';
  247.                 }
  248.                 Tekst_ASCI[2][l+1]='M'; Tekst_ASCI[2][l+9]='M';
  249.                 for (n =4 ;n<=6; n++)
  250.                 {
  251.                     Tekst_ASCI[2][l+n]='M';
  252.                 }
  253.                 Tekst_ASCI[3][l+1]='M';Tekst_ASCI[3][l+5]='M'; Tekst_ASCI[3][l+9]='M';
  254.                 Tekst_ASCI[4][l+1]='M'; Tekst_ASCI[4][l+9]='M';
  255.                 l+=11;
  256.                 break;
  257.             case 'N':
  258.                 Tekst_ASCI[0][l+1]='N';Tekst_ASCI[0][l+2]='N'; Tekst_ASCI[0][l+8]='N';
  259.                 Tekst_ASCI[1][l+1]='N';Tekst_ASCI[1][l+3]='N'; Tekst_ASCI[1][l+8]='N';
  260.                 Tekst_ASCI[2][l+1]='N';Tekst_ASCI[2][l+4]='N'; Tekst_ASCI[2][l+5]='N'; Tekst_ASCI[2][l+8]='N';
  261.                 Tekst_ASCI[3][l+1]='N';Tekst_ASCI[3][l+6]='N'; Tekst_ASCI[3][l+8]='N';
  262.                 Tekst_ASCI[4][l+1]='N';Tekst_ASCI[4][l+7]='N'; Tekst_ASCI[4][l+8]='N';
  263.                 l+=10;
  264.                 break;
  265.             case 'O':
  266.                 for (n =3 ;n<=8; n++)
  267.                 {
  268.                     Tekst_ASCI[0][l+n]='O';
  269.                 }
  270.                 Tekst_ASCI[1][l+2]='O';Tekst_ASCI[1][l+9]='O';
  271.                 Tekst_ASCI[2][l+1]='O';Tekst_ASCI[2][l+10]='O';
  272.                 Tekst_ASCI[3][l+2]='O';Tekst_ASCI[3][l+9]='O';
  273.                 for (n =3 ;n<=8; n++)
  274.                 {
  275.                     Tekst_ASCI[4][l+n]='O';
  276.                 }
  277.                 l+=11;
  278.                 break;
  279.             case 'P':
  280.                 for (n =1 ;n<=5; n++)
  281.                 {
  282.                     Tekst_ASCI[0][l+n]='P';
  283.                 }
  284.                 Tekst_ASCI[1][l+1]='P';Tekst_ASCI[1][l+6]='P';
  285.                 for (n =1 ;n<=5; n++)
  286.                 {
  287.                     Tekst_ASCI[2][l+n]='P';
  288.                 }
  289.                 Tekst_ASCI[3][l+1]='P';
  290.                 Tekst_ASCI[4][l+1]='P';
  291.                 l+=8;
  292.                 break;
  293.             case 'Q':
  294.                 for (n =3 ;n<=8; n++)
  295.                 {
  296.                     Tekst_ASCI[0][l+n]='Q';
  297.                 }
  298.                 Tekst_ASCI[1][l+2]='Q';Tekst_ASCI[1][l+9]='Q';
  299.                 Tekst_ASCI[2][l+1]='Q';Tekst_ASCI[2][l+10]='Q';
  300.                 Tekst_ASCI[3][l+2]='Q';Tekst_ASCI[3][l+9]='Q';
  301.                 for (n =3 ;n<=8; n++)
  302.                 {
  303.                     Tekst_ASCI[4][l+n]='Q';
  304.                 }
  305.                 Tekst_ASCI[4][l+11]='Q';
  306.                 l+=13;
  307.                 break;
  308.             case 'R':
  309.                 for (n =1 ;n<=5; n++)
  310.                 {
  311.                     Tekst_ASCI[0][l+n]='R';
  312.                 }
  313.                 Tekst_ASCI[1][l+1]='P';Tekst_ASCI[1][l+6]='R';
  314.                 for (n =1 ;n<=5; n++)
  315.                 {
  316.                     Tekst_ASCI[2][l+n]='R';
  317.                 }
  318.                 Tekst_ASCI[3][l+1]='R'; Tekst_ASCI[3][l+5]='R';
  319.                 Tekst_ASCI[4][l+1]='R'; Tekst_ASCI[4][l+6]='R';
  320.                 l+=8;
  321.                 break;
  322.             case 'S':
  323.                 for (n =2 ;n<=8; n++)
  324.                 {
  325.                     Tekst_ASCI[0][l+n]='S';
  326.                 }
  327.                 Tekst_ASCI[1][l+1]='S';
  328.                 for (n =3 ;n<=6; n++)
  329.                 {
  330.                     Tekst_ASCI[2][l+n]='S';
  331.                 }
  332.                 for (n =7 ;n<=9; n++)
  333.                 {
  334.                     Tekst_ASCI[3][l+n]='S';
  335.                 }
  336.                 for (n =2 ;n<=7; n++)
  337.                 {
  338.                     Tekst_ASCI[4][l+n]='S';
  339.                 }
  340.                 l+=10;
  341.                 break;
  342.             case 'T':
  343.                 for(n = 1; n<=9;n++)
  344.                 {
  345.                     Tekst_ASCI[0][l+n]='T';
  346.                 }
  347.                 Tekst_ASCI[1][l+5]='T';
  348.                 Tekst_ASCI[2][l+5]='T';
  349.                 Tekst_ASCI[3][l+5]='T';
  350.                 Tekst_ASCI[4][l+5]='T';
  351.                 l+=10;
  352.                 break;
  353.             case 'U':
  354.                 Tekst_ASCI[0][l+1]='U';Tekst_ASCI[0][l+10]='U';
  355.                 Tekst_ASCI[1][l+1]='U';Tekst_ASCI[1][l+10]='U';
  356.                 Tekst_ASCI[2][l+1]='U';Tekst_ASCI[2][l+10]='U';
  357.                 Tekst_ASCI[3][l+2]='U';Tekst_ASCI[3][l+9]='U';
  358.                 for (n =3 ;n<=8; n++)
  359.                 {
  360.                     Tekst_ASCI[4][l+n]='U';
  361.                 }
  362.                 l+=12;
  363.                 break;
  364.             case 'V':
  365.                 Tekst_ASCI[0][l+1]='V';Tekst_ASCI[0][l+10]='V';
  366.                 Tekst_ASCI[1][l+2]='V';Tekst_ASCI[1][l+9]='V';
  367.                 Tekst_ASCI[2][l+3]='V';Tekst_ASCI[2][l+8]='V';
  368.                 Tekst_ASCI[3][l+4]='V';Tekst_ASCI[3][l+7]='V';
  369.                 Tekst_ASCI[4][l+6]='V';Tekst_ASCI[4][l+5]='V';
  370.                 l+=12;
  371.                 break;
  372.             case 'W':
  373.                 Tekst_ASCI[4][l+1]='W'; Tekst_ASCI[4][l+9]='W';
  374.                 for (n =1 ;n<=3; n++)
  375.                 {
  376.                     Tekst_ASCI[3][l+n]='W';
  377.                 }
  378.                 for (n =7 ;n<=9; n++)
  379.                 {
  380.                     Tekst_ASCI[3][l+n]='W';
  381.                 }
  382.                 Tekst_ASCI[2][l+1]='W'; Tekst_ASCI[2][l+9]='W';
  383.                 for (n =4 ;n<=6; n++)
  384.                 {
  385.                     Tekst_ASCI[2][l+n]='W';
  386.                 }
  387.                 Tekst_ASCI[1][l+1]='W';Tekst_ASCI[1][l+5]='W'; Tekst_ASCI[1][l+9]='W';
  388.                 Tekst_ASCI[0][l+1]='W'; Tekst_ASCI[0][l+9]='W';
  389.                 l+=11;
  390.                 break;
  391.             case 'X':
  392.                 Tekst_ASCI[0][l+1]='X'; Tekst_ASCI[0][l+7]='X';
  393.                 Tekst_ASCI[1][l+2]='X'; Tekst_ASCI[1][l+6]='X';
  394.                 Tekst_ASCI[2][l+3]='X'; Tekst_ASCI[2][l+4]='X'; Tekst_ASCI[2][l+5]='X';
  395.                 Tekst_ASCI[3][l+2]='X'; Tekst_ASCI[3][l+6]='X';
  396.                 Tekst_ASCI[4][l+1]='X'; Tekst_ASCI[4][l+7]='X';
  397.                 l+=9;
  398.                 break;
  399.             case 'Y':
  400.                 Tekst_ASCI[0][l+1]='Y'; Tekst_ASCI[0][l+7]='Y';
  401.                 Tekst_ASCI[1][l+2]='Y'; Tekst_ASCI[1][l+6]='Y';
  402.                 Tekst_ASCI[2][l+3]='Y'; Tekst_ASCI[2][l+4]='Y'; Tekst_ASCI[2][l+5]='Y';
  403.                 Tekst_ASCI[3][l+4]='Y';
  404.                 Tekst_ASCI[4][l+4]='Y';
  405.                 l+=9;
  406.                 break;
  407.             case 'Z':
  408.                 for (n=1; n<=7; n++)
  409.                 {
  410.                     Tekst_ASCI[0][l+n]='Z';
  411.                 }
  412.                 Tekst_ASCI[1][l+6]='Z'; Tekst_ASCI[1][l+7]='Z';
  413.                 Tekst_ASCI[2][l+5]='Z'; Tekst_ASCI[2][l+6]='Z';
  414.                 Tekst_ASCI[3][l+4]='Z'; Tekst_ASCI[3][l+5]='Z';
  415.                 for (n=1; n<=7; n++)
  416.                 {
  417.                     Tekst_ASCI[4][l+n]='Z';
  418.                 }
  419.                 l+=9;
  420.                 break;
  421.         }
  422.     w++;
  423. }
  424.    //Wypisanie Liter i - > wiersz , j- kolumna
  425.         cout<<endl;
  426.  
  427.         //Przejscie do kolejnej kolumny.
  428.         for( i=0; i<5; i++)
  429.         {
  430.             //Wpisanie wszystkich kolumn w pierwszym wierszu.
  431.             for( j=0; j<(Dlugosc*13); j++)
  432.             {
  433.                 cout<<Tekst_ASCI[i][j];
  434.             }
  435.             cout<<endl;
  436.         }
  437. }
  438.  
  439. int main() {
  440. bool WszystOK =false;
  441. bool WszystOK2 =false;
  442. int Liczba_Dozwolonych_Znakow = 64;
  443. char Tekst[128];
  444. cout << "\n\nWitaj w programie dozwolona maksymalna ilosc znakow to:" <<Liczba_Dozwolonych_Znakow<<" Mozliwe znaki to a-z bez znakow polskich.";
  445. do {
  446.     cout << "\nWpisz linie tekstu: ";
  447.     cin.getline(Tekst, 128 - 1);
  448.     if (true!=Sprawdz_CzyOK(Tekst))
  449.     {
  450.       cout <<"Uzyto niedozwolonych znakow."<<endl;
  451.         WszystOK2 = false;
  452.     }else WszystOK2 = true;
  453.     if (Sprawdz_Dlugosc(Tekst) > Liczba_Dozwolonych_Znakow)
  454.     {
  455.         cout <<"Uzyto zbyt duzej ilosci znakow."<<endl;
  456.         WszystOK = false;
  457.     }else WszystOK =true;
  458.  
  459. }while(WszystOK != true || WszystOK2 != true);
  460. Ustawienie_Do_Duzej(Tekst);
  461. Wypisywanie_Liter(Tekst);
  462.  
  463.  
  464. return 0;
  465. }
  466.  
Add Comment
Please, Sign In to add comment