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

Вопрос на счет усл.операторов - C++

Восстановить пароль Регистрация
 
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
19.12.2009, 21:36     Вопрос на счет усл.операторов #1
не знаю как правильно задать вопрос...представте:
char text[1000] я ввожу слово ааа в консоли..если text[i]==a то вывести на экран

__аааа
_а____а
_аааааа
а______а

то есть если написать
C++
1
2
3
4
5
6
7
if(text[i]=='a')cout<"  
   аааа\n
  а     а\n
 аааааа\n
а         а\n
"
else if...
в этом коде только обна буква выводится на экран...как сделать чтобы все буквы...
короче
Надо чтобы буквы водимые перевел в такие большие буквы...если использовать if то только одна,как решить пролему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
19.12.2009, 21:53     Вопрос на счет усл.операторов #2
МедведЪ, задай матрицами, так будет проще
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 21:58     Вопрос на счет усл.операторов #3
Цитата Сообщение от МедведЪ Посмотреть сообщение
if(text[i]=='a')cout<"
аааа\n
а а\n
аааааа\n
а а\n
"
этот код с виду не рабочий, вот так по сути надо if (text[i] == 'a') cout << " аааа\n а а\n аааааа\nа а\n";
в одну строчку и с ";"
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
19.12.2009, 22:36  [ТС]     Вопрос на счет усл.операторов #4
M128K145, я не знаю матрицыпомоги если не сложно....если надо скажу что за программа:как видно из первого поста все буквы она переделает в символ к примеру "*" и пишет слова таким бразом...трудно конечно сказать но надеюсь ты понял
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2009, 22:50     Вопрос на счет усл.операторов #5
Цитата Сообщение от МедведЪ Посмотреть сообщение
я не знаю матрицыпомоги если не сложно
Смысл такой создаешь матрицы по кол-ву букв, размер у матриц можно сделать одинаковый. Например матрица для буквы "а":
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
int main () {
    char A[4][8]={' ', ' ', ' ', '*', '*', ' ', ' ', ' ',
                    ' ', ' ', '*', ' ', ' ', '*', ' ', ' ',
                    ' ', '*', '*', '*', '*', '*', '*', ' ',
                    '*', ' ', ' ', ' ', ' ', ' ', ' ', '*'};
    for(int i=0; i<4; i++)
    {
        for(int j=0; j<8; j++)
            printf("%c", A[i][j]);
        printf("\n");
    }
return 0; 
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
19.12.2009, 22:54  [ТС]     Вопрос на счет усл.операторов #6
valeriikozlov, приведи пожалуйста пример со словом,а тут буква одна мне не понятно

Добавлено через 12 секунд
и откуда мне взять весь алфавит
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 22:58     Вопрос на счет усл.операторов #7
не так понял условие))
на си++ будет проще (в 1 строку)
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <string>
 
int main()
{
   string s = " **\n* *\n***\n* *";
   std::cout << s << std::endl;
   return 0;
}
http://codepad.org/NWJFm3lq
заведи вектор строк, которые будут твоими буквами))
C++
1
2
3
vector <string> vs;
string a = " **\n* *\n***\n* *";
vs.push_back(a); // и т.д.
а топом определяешь какую букву выводить так: string S = "something"; cout << vs[S[i] - '0'];
правда есть маленький ньюанс: все солва только трого вертикального начертания, типа:
_**_
*__*
*___
_**_
___*
*__*
_**_

_**_
*__*
*__*
*__*
*__*
_**_

и т.д.
если выводить горизонтально, тогда прийдется разбивать предложение на слова, проверять влазит ли текущее количество слов + следущее на екран, если влазит, дописывать к каждой строке по строке из даной буквы, в этом случае нужно держать двумерных вектор, в котором есть по 4-6 строк на букву (это как вам удобнее)
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2009, 23:02     Вопрос на счет усл.операторов #8
Имеется ввиду, что сначало ты опишешь, таким же образом как я описал, массивы на каждую букву. Зато потом все будет очень просто. Просматриваешь слово по буквам, например первая буква "в", выводишь на экран массив соответствующий букве "в", следующая буква "е", выводишь на экран массив соответствующий букве "е". И т.д. Самое сложное здесь будет описать массивы для каждой буквы.
Можно и так как предлагает outoftime
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 23:09     Вопрос на счет усл.операторов #9
просто в зависимости от того нужно выводить горизонталоно или вертикально много чего меняется..
а, можно еще поиграться с <conio.h> там кажется можно устанавливать текущую позицию курсора..
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
19.12.2009, 23:23  [ТС]     Вопрос на счет усл.операторов #10
valeriikozlov, outoftime, главное не то что с каким классом,главное-как?пусть будет вектор,как писать код,как объявить БУКВЫ?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2009, 23:27     Вопрос на счет усл.операторов #11
В любом случае или тем способом или этим, каждую букву нужно самому описать до использования.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
19.12.2009, 23:29  [ТС]     Вопрос на счет усл.операторов #12
мдаа....нелегко будет...ладно,можно посмотреть на полный код?Я там уже с завтрашнего дня начну буквы рисовать
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 23:30     Вопрос на счет усл.операторов #13
ну для англ алфавита нуждно 26 букв, т.е.
C++
1
2
3
4
5
6
7
8
vector <string> vs;
   vs.bush_back(" **\n* *\n***\n* *");
   \\ ect.
   vs.push_back("***\n * \n * \n***"); \\ something like that
   string S;
   cin >> S; 
   for (int i = 0; i < S.size(); ++i)
      cout << vs[S[i] - '0'];
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2009, 23:30     Вопрос на счет усл.операторов #14
Цитата Сообщение от МедведЪ Посмотреть сообщение
ладно,можно посмотреть на полный код?
Мне предлагаешь описать все буквы? Я пас.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 23:38     Вопрос на счет усл.операторов #15
дам, с таким описанием и не написать самому..
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
19.12.2009, 23:40  [ТС]     Вопрос на счет усл.операторов #16
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Мне предлагаешь описать все буквы? Я пас.
нет код полный с буквой...с одной..и желательно с кометнами
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2009, 23:51     Вопрос на счет усл.операторов
Еще ссылки по теме:

C++ Народ спасайте, на счет теста
автоматический счет имени файла C++
C++ Класс «Банковский счет»

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

Или воспользуйтесь поиском по форуму:
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 23:51     Вопрос на счет усл.операторов #17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <string>
 
using namespace std;
 
int main()
{
\\----------------------------------------------------
   vector <string> vs; \\ заводишь вектор на символы
   vs.bush_back(" **\n* *\n***\n* *"); \\ добавляешь символы
\\--------------------------------------------------- ect.
   vs.push_back("***\n * \n * \n***"); \\ something like that
   string S;
   cin >> S; 
   for (int i = 0; i < S.size(); ++i)
      cout << vs[S[i] - '0']; \\ выводишь на екран строку, которая отображает твой символ 
                              \\в порядке добавления, если добавить в алфавитном порядке, 
                              \\тогда останется от символа отнять первый символ алфавита
\\-----------------------------------------------------
}
Yandex
Объявления
19.12.2009, 23:51     Вопрос на счет усл.операторов
Ответ Создать тему
Опции темы

Текущее время: 11:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru