0 / 0 / 0
Регистрация: 08.05.2020
Сообщений: 10
1

Псевдокод С ++ 17

07.04.2021, 14:12. Показов 594. Ответов 0

Author24 — интернет-сервис помощи студентам
Нужна помошь с написанием псевдокода.

САМ КОД:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
///----------------------------------------------------------------------------|
/// C++17
/// Выравнивание текста по заданной ширине.
///----------------------------------------------------------------------------:
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
 
extern const char*          test1;
extern const char*          test2;
///------------------------------|
/// Конфиг.                      |
///------------------------------:
           size_t  WIDE   =    40;
       const char* test   = test2;
const std::string  BORD_R = "|"  ;
const std::string  BORD_L = "  |";
///------------------------------.
 
#define  l(v)  std::cout << #v << " = " << v << "\n\n";
 
typedef std::string                       S;
typedef std::vector<std::vector<S>> cargo_t;
 
S formate(std::string_view text)
{
    S       result;
    cargo_t cargo(1, std::vector<S>());
 
    auto insert_space  = [&cargo](const size_t NIL, size_t nib)
    {         auto& vs = cargo.back();
        const auto END = std::prev(vs.end());
 
        auto i = vs.begin();
        while(     nib-- ) *i++ += S(NIL+1,  ' ');
        while(i != END   ) *i++ += S(NIL  ,  ' ');
    };
 
    const S punc(" \n");
    size_t  w = 0;
 
    for(size_t i, e = 0;
            (i = text.find_first_not_of(punc, e)) != S::npos;)
    {   if( (e = text.find_first_of    (punc, i)) == S::npos )
             e = text.size();
 
        S s(text.substr(i, e - i));
 
        const size_t AS  = cargo.back().size()    ;
        const size_t AD  = cargo.back().size() - 1;
        if((w + s.size() + AS) > WIDE)
        {
            if(AS > 1)
            {   const std::div_t D = std::div(int(WIDE - w - AD), AD);
                insert_space(D.quot + 1, D.rem);
            }
 
            cargo.push_back(std::vector<S>(1, s));
            w = s.size();
        }
        else
        {   cargo .back().emplace_back(s);
            w += s.size();
        }
    }
 
    insert_space(1, 0);
 
    for(const auto& vs : cargo)
    {   w = 0;
        result += BORD_L;
        for(const auto& s : vs)
        {   result += s;
            w      += s.size();
        }
        if(WIDE >= w) result += S(WIDE - w, ' ') +  BORD_R + "\n";
        else          result += "\n";
    }
 
    return result;
}
 
///----------------------------------------------------------------------------|
/// Тест.
///----------------------------------------------------------------------------:
int main()
{   setlocale(0, "");
    const char* LN = "0_______10|_______20|_______30|_______40|_______50|_\n\n";
 
    l(WIDE)
    std::cout << BORD_L << LN << formate(test) << '\n';
 
      WIDE = 30;
    l(WIDE)
    std::cout << BORD_L << LN << formate(test);
 
    std::cin.get();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2021, 14:12
Ответы с готовыми решениями:

Как писать псевдокод ? Написал програму но не знаю как написать к ней псевдокод кто знает расскажите/покажите
#include &quot;stdafx.h&quot; #include &quot;stdlib.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include...

Псевдокод
Здравствуйте. Нужна помощь с одной работой, которая является частью зачета. Дан псевдокод,...

Псевдокод
Как исправить эти ошибки?? Проверка наличия файла; while есть файлы во входном каталоге...

Псевдокод
Помогите плз чайнику Нужно составить циклический алгоритм для решения задачи и записать в виде...

0
07.04.2021, 14:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2021, 14:12
Помогаю со студенческими работами здесь

Псевдокод
1.Имеется функция, реализующая описанный ниже алгоритм. Алгоритм описан на псевдокоде, операция mod...

Псевдокод
Написать три любые программы на псевдокоде.

Псевдокод
Всем добрый день. Хочу спросить начинающих и уже довольно опытных программистов: используюте ли вы...

Псевдокод
Написал псевдокод но сомневаюсь что верно. Задача такая написать псевдокод алгоритма нахождения...

псевдокод
1) Задана матрица А (NxN). Определить максимальный элемент среди элементов матрицы, расположенных...

Псевдокод
Ребят, помогите плз в написании некоторых частей псевдокода... //атрибут, означающий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru