Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
1

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

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

необходимо написать Матричный знакогенератор.Что это такое? на языке С++
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2010, 18:41
Ответы с готовыми решениями:

Что такое указатель на фаил в делфи, как его получить и с чем его готовить
У меня вопрос я получаю имя файла вот тут procedure TForm1.Button5Click(Sender: TObject); var...

Что такое Implements и как его юзать?
Собственно вопрос уже задан: Что такое Implements и зачем он вообще нужен?

Что такое knockout.js и как его использовать
Всем привет! помогите понять - что такое knockout.js и как его использовать в mvc... вот хорошое...

Что такое reg_exp и как его читать?
Подскажите, что такое reg_exp? Как прочитать что-то вроде такого: ...

17
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
27.03.2010, 05:08 2
и что генерировать должен этот генератор, целые числа в заданном промежутке или еще чем-то должен радовать?
0
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
27.03.2010, 15:54  [ТС] 3
Он должен вывести на экран 3 буквы ABC большими изображенными звездочками ***
........... *
..........*..*
.........*....*
.......******
......*.........*
.....*...........* и так далее BC
0
Эксперт С++
5820 / 3472 / 357
Регистрация: 08.02.2010
Сообщений: 7,448
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
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
28.03.2010, 12:23  [ТС] 5
Нет не то необходимо сделать в строку например AC DL W в одну строку в водиш в программу значение любой комбинации этих букв CD L WA и он доложен вывести строку большими буквами
........... *..........*****
..........*..*........*
.........*....*.......*
.......******......*
......*.........*.....*
.....*...........* ...******и также LW D тоже спробелами
0
Эксперт С++
5820 / 3472 / 357
Регистрация: 08.02.2010
Сообщений: 7,448
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
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
28.03.2010, 21:40  [ТС] 7
сразу на экране не должны появлятся буквы . сам должен задать их последовательность и пробелы например вводим AC B и после нажатия enter должно появится большими буквами AC B в одну строку это я не могу сделать((( должна выводить любое значение ввода букв ABC и пробеловк примеру В СА , С А В ,
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
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
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
29.03.2010, 01:12  [ТС] 9
точно сказать не могу надо всю программу увидеть там должно в одну строку выводить по строчно симвалы
........... *..........*****первая строка
..........*..*........*вторя так далие
.........*....*.......*
.......******......*
......*.........*.....*
.....*...........* ...******
0
Эксперт С++
5820 / 3472 / 357
Регистрация: 08.02.2010
Сообщений: 7,448
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
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
29.03.2010, 12:32  [ТС] 11
Вот это то )) спасибо
0
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
23.04.2010, 14:47  [ТС] 12
возможно ли сделать так чтобы генератор брал буквы из файла например блокнота
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
23.04.2010, 19:06 13
можно, тогда стоит подсчитать, сколько строк занимает буква и потом относительно номера буквы находить определенную строку..
к примеру: буква занимает 7 строк, то начало буквы A будет равно 7*0 строке, B = 7*1, C = 7*2, D = 7*3 строкам (если подсчет строк вести с 0)
буква = кол-во строк*(номер буквы в алфавите-1) и с этого места считывать 7 строк и выводить на экран
0
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
23.04.2010, 21:30  [ТС] 14
А как это будет выглядеть в программе?
0
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
26.04.2010, 16:38  [ТС] 15
Цитата Сообщение от sawer90 Посмотреть сообщение
А как это будет выглядеть в программе?
? как это представлено в коде
0
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
12.09.2010, 23:32  [ТС] 16
так я и не смог за лето сделать эту программу кто сможет помочь разобратся?
0
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
23.03.2012, 21:07  [ТС] 17
просьба помочь с написанием программы
0
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 14
01.11.2012, 12:17  [ТС] 18
вверх
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2012, 12:17

Что такое Imunify360, и как его убрать?
На сайте появилась постоянная капча и стали блокироваться некотрые IP...это не плагин и специально...

Что такое блог и как его создать?
Добрый вечер любители и профессионалы. Что такое блог в принципе понятно. Меня больше интересует...

Что это такое и как его читать?
Привет всем. Ребята подскажите пожалуйста, почему образуются вот такие тексты при открытии файла...

Что такое svchost и как его удалить?
Ребят, что за фигня? Как удалить?

Что такое отображение и как его найти
Помогите понять что такое отображение функции и как это отображение найти. Есть задание найти...

Что такое скольжение и как его считать ?
Вопрос задан в пунктах 3 ,4 , 5 Предистория: питаемся от источника напряжения начальные...


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

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

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