Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
#1

Что такое матричный знакогенератор и как его написать - C++

24.03.2010, 18:41. Просмотров 2142. Ответов 17
Метки нет (Все метки)

необходимо написать Матричный знакогенератор.Что это такое? на языке С++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 18:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что такое матричный знакогенератор и как его написать (C++):

Что такое вектор? И как его ввести с клавиатуры? - C++
Вести с клавиатуры целые числа M,N и вектор A=(a1,a2...an), n=15

Что такое канонический режим терминала и как его него вывести? - C++
Решил начать изучать C++. Делаю я это в Debian 8.4 64 bit, с помощью среды программирования Code Blocks. Есть интереcная функция getche(),...

Тип void как возвращаемое значение функции: что он такое, зачем он нужен, где, когда и как его использовать? - C++
Объясните пожалуйста про Void для оооочень далекого человека. Читаю книгу Шилдта, в принципе всё ясно, всё понимаю и пробую, но вот Void -...

Что такое This и с чем его едят - C++
Доброго дня/ночи Вот пытаюсь выкурить мануалы по теме "this". Прочитал надцать листов литературы, но так особо не могу понять - this...

что такое Qt, и с чем его едят? - C++
Здравствуйте, я бы хотел узнать что такое Qt, и как на нем программировать, я слышал что это дополнение к С++, тогда вопросы: - что это...

Выделение в динамичесую память как его написать и как оно происходит? Что это я пишу? - C++
Простите, почти ничего не понимаю. for ( int i=6; i>0;i-- ) { unsigned short CshortVar=i; unsigned long ClongVar=i; ...

17
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
27.03.2010, 05:08 #2
и что генерировать должен этот генератор, целые числа в заданном промежутке или еще чем-то должен радовать?
0
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
27.03.2010, 15:54  [ТС] #3
Он должен вывести на экран 3 буквы ABC большими изображенными звездочками ***
........... *
..........*..*
.........*....*
.......******
......*.........*
.....*...........* и так далее BC
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
27.03.2010, 17:13 #4
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
#include <iostream>
 
void display(char letter[7][14])
{
    for(size_t i=0; i<7; ++i)
        std::cout << letter[i] << std::endl;
}
 
int main()
{
    char A[7][14]=
    {
        "      *      ",
        "     * *     ",
        "    *   *    ",
        "   *******   ",
        "  *       *  ",
        " *         * ",
        "*           *"
    };
    char B[7][14]=
    {
        " *********   ",
        " *        *  ",
        " *        *  ",
        " *********   ",
        " *        *  ",
        " *        *  ",
        " *********   "
    };
    char C[7][14]=
    {
        "  ********   ",
        " *        *  ",
        " *           ",
        " *           ",
        " *           ",
        " *        *  ",
        "  ********   "
    };
    display(A);
    std::cout << std::endl;
    display(B);
    std::cout << std::endl;
    display(C);
    system("pause");
    return 0; 
}
0
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
28.03.2010, 12:23  [ТС] #5
Нет не то необходимо сделать в строку например AC DL W в одну строку в водиш в программу значение любой комбинации этих букв CD L WA и он доложен вывести строку большими буквами
........... *..........*****
..........*..*........*
.........*....*.......*
.......******......*
......*.........*.....*
.....*...........* ...******и также LW D тоже спробелами
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
28.03.2010, 16:58 #6
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
#include <iostream>
 
#define size 200
 
void display(char word[7][size])
{
        for(size_t i=0; i<7; ++i)
                std::cout << word[i] << std::endl;
}
 
int main()
{
        char word[7][size];
        char A[7][14]=
        {
                "      *      ",
                "     * *     ",
                "    *   *    ",
                "   *******   ",
                "  *       *  ",
                " *         * ",
                "*           *"
        };
        char B[7][14]=
        {
                " *********   ",
                " *        *  ",
                " *        *  ",
                " *********   ",
                " *        *  ",
                " *        *  ",
                " *********   "
        };
        char C[7][14]=
        {
                "  ********   ",
                " *        *  ",
                " *           ",
                " *           ",
                " *           ",
                " *        *  ",
                "  ********   "
        };
        for(size_t i=0; i<7; ++i)
        {
            strcpy(word[i], A[i]);
            strcpy(word[i]+13, B[i]);
            strcpy(word[i]+26, C[i]);
            word[i][39]='\0';
        }
        display(word);
        system("pause");
        return 0; 
}
Добавлено через 34 минуты
Вот реализовано в виде класса с перегрузкой оператора вывода в поток. Тебе осталось доделать остальные буквы:
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
#include <iostream>
#include <string>
 
std::string letters[3][7]=
{
        {
                "      *      ",
                "     * *     ",
                "    *   *    ",
                "   *******   ",
                "  *       *  ",
                " *         * ",
                "*           *"
        },
        {
                " *********   ",
                " *        *  ",
                " *        *  ",
                " *********   ",
                " *        *  ",
                " *        *  ",
                " *********   "
        },
        {
                "  ********   ",
                " *        *  ",
                " *           ",
                " *           ",
                " *           ",
                " *        *  ",
                "  ********   "
        }
};
 
class word
{
public:
    word(const std::string& string);
    ~word();
    friend std::ostream& operator<<(std::ostream& os, const word& w);
private:
    std::string*    str;
};
 
word::word(const std::string& string)
{
    str=new std::string[7];
    for(size_t i=0; i<string.size(); ++i)
    {
        char c=tolower(string[i]);
        for(size_t j=0; j<7; ++j)
            str[j]+=letters[(c-'a')][j];
    }
}
 
word::~word()
{
    delete[] str;
}
 
std::ostream& operator<<(std::ostream& os, const word& w)
{
    for(size_t i=0; i<7; ++i)
        os << w.str[i] << std::endl;
    return os;
}
 
int main()
{
    std::string init;
    init="ab";
    word w1(init);
    std::cout << w1;
    init="Ba";
    word w2(init);
    std::cout << w2;
    init="cAb";
    word w3(init);
    std::cout << w3;
    system("pause");
    return 0; 
}
ЗЫ. Сам класс переделывать не придется

Добавлено через 13 минут
ЗЗЫ. Если захочешь добавить пробел и знаки пунктуации, то тогда уже придется переделывать класс!
1
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
28.03.2010, 21:40  [ТС] #7
сразу на экране не должны появлятся буквы . сам должен задать их последовательность и пробелы например вводим AC B и после нажатия enter должно появится большими буквами AC B в одну строку это я не могу сделать((( должна выводить любое значение ввода букв ABC и пробеловк примеру В СА , С А В ,
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
29.03.2010, 00:29 #8
C
1
2
3
4
5
6
7
8
9
char *letters;
cin>>letters;
for(int i = 0; i < strlen(letters); i++){
   switch(letters[i]){
      case 'a': ... ;//ф-ция выводящая А
      case 'b': ... ;//ф-ция выводящая В
      case ' ': ... ;//пропуск несколько симвлов
   }
}
чет в таком стиле
0
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
29.03.2010, 01:12  [ТС] #9
точно сказать не могу надо всю программу увидеть там должно в одну строку выводить по строчно симвалы
........... *..........*****первая строка
..........*..*........*вторя так далие
.........*....*.......*
.......******......*
......*.........*.....*
.....*...........* ...******
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
29.03.2010, 10:46 #10
sawer90, а что тебе мешает ввести строку init с консоли?
Добавил пробел:
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
#include <iostream>
#include <string>
 
std::string letters[3][7]=
{
        {
                "      *      ",
                "     * *     ",
                "    *   *    ",
                "   *******   ",
                "  *       *  ",
                " *         * ",
                "*           *"
        },
        {
                " *********   ",
                " *        *  ",
                " *        *  ",
                " *********   ",
                " *        *  ",
                " *        *  ",
                " *********   "
        },
        {
                "  ********   ",
                " *        *  ",
                " *           ",
                " *           ",
                " *           ",
                " *        *  ",
                "  ********   "
        }
};
 
class word
{
public:
        word(const std::string& string);
        ~word();
        friend std::ostream& operator<<(std::ostream& os, const word& w);
private:
        std::string*    str;
};
 
word::word(const std::string& string)
{
    std::string space("             ");
    str=new std::string[7];
    for(size_t i=0; i<string.size(); ++i)
    {
        char c=tolower(string[i]);
        for(size_t j=0; j<7; ++j)
        {
            if(c==' ')
                str[j]+=space;
            else
                str[j]+=letters[(c-'a')][j];
        }
    }
}
 
word::~word()
{
        delete[] str;
}
 
std::ostream& operator<<(std::ostream& os, const word& w)
{
        for(size_t i=0; i<7; ++i)
                os << w.str[i] << std::endl;
        return os;
}
 
int main()
{
    std::string init;
    std::getline(std::cin, init);
    //Вывести больше 6 символов (включая пробел) - нельзя!!!
    //Если введено больше 6 символов, то обрезаем строку
    if(init.size()>6)
        init.erase(6);
    word w(init);
    std::cout << w;
    system("pause");
    return 0; 
}
1
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
29.03.2010, 12:32  [ТС] #11
Вот это то )) спасибо
0
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
23.04.2010, 14:47  [ТС] #12
возможно ли сделать так чтобы генератор брал буквы из файла например блокнота
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
23.04.2010, 19:06 #13
можно, тогда стоит подсчитать, сколько строк занимает буква и потом относительно номера буквы находить определенную строку..
к примеру: буква занимает 7 строк, то начало буквы A будет равно 7*0 строке, B = 7*1, C = 7*2, D = 7*3 строкам (если подсчет строк вести с 0)
буква = кол-во строк*(номер буквы в алфавите-1) и с этого места считывать 7 строк и выводить на экран
0
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
23.04.2010, 21:30  [ТС] #14
А как это будет выглядеть в программе?
0
sawer90
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
26.04.2010, 16:38  [ТС] #15
Цитата Сообщение от sawer90 Посмотреть сообщение
А как это будет выглядеть в программе?
? как это представлено в коде
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2010, 16:38
Привет! Вот еще темы с ответами:

Что такое assoc и с чем его едят? - C++
Объясните, пожаалуйста)

Что такое Класс, и с чем его едят? - C++
собственно это я бы и хотел знать. попытался воспринять самостоятельно - не получилось. прошу, подскажите, кто знает, в каких книгах можно...

Что такое компилятор, и где его взять? - C++
Здравствуйте дорогие форумчане! Вот начал изучать по самоучителям С++ и сталкнулся с таким термином, как компилятор. Я так понял он...

Модуль: что такое и с чем его едят? - C++
есть задание: что есть модуль, как он создается и как подключается? предполагаю, что это обыкновенный .cpp-файл,- я прав? в таком...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
26.04.2010, 16:38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru