Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
1

провести побитовое кодирование слов английского языка

28.09.2013, 17:57. Показов 3608. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
провести побитовое кодирование слов английского языка( имени), выбрав минимальное кол-во переменных указанного типа unsigned int, тока это надо просто всё сделать т.к мы еще толком языка незнаем
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2013, 17:57
Ответы с готовыми решениями:

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

Изучение английского языка
Здравствуйте! По-тихоньку изучаю С++ и насколько я знаю, нужен будет англ. язык, допустим, если...

Тренажёр английского языка
Здравствуйте. С помощью этой программы пользователь может создать свой словарь английских слов и...

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

29
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
28.09.2013, 19:04 2
Чет не пойму
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 20:00  [ТС] 3
Что именно??
вроде как я должен ввести имя: Александр, а прога должна выдать двоичный код: 0100111...
как то так
0
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
28.09.2013, 20:08 4
ну char представляет собой целочисленное значение - и каждый символ это цифра на самом деле - берешь приводишь каждую букву к int, а дальше просто перевод из 10-чной в 2-ую систему исчисления
0
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
28.09.2013, 20:25 5
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
#include <iostream>
#include <stdlib.h>
using namespace std;
 
void printBinary(char ch)
{
    int n = 1<<(sizeof(char)*8-1);
 
    for (int i=sizeof(char)*8-1; i>=0; i--)
    {
        cout << ((ch & n) ? '1' : '0');
        n>>=1;
    }
    //cout << " ";  // разделитель между буквами
}
 
void printMsg(const char *msg)
{
    for (int i=0; msg[i]; i++)
        printBinary(msg[i]);
}
 
int main()
{
    system("chcp 1251 > nul");
 
    printMsg("Aleksandr");
    cout << endl;
    
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 20:34  [ТС] 6
спасибо большое!! а ты можешь пояснить, а то я неделю всего с++ изучаю, и большенство тут мне непонятно. заранее спасибо!
0
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
28.09.2013, 20:38 7
alex27121994, а что именно объяснить?)
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 20:51  [ТС] 8
всякие непонятные словечки)) типа:
void printBinary(char ch),
void printMsg(const char *msg),
for (int i=0; msg[i]; i++) printBinary(msg[i]); ну вот такие вот))
сам понимаешь неделю в универе, а делать как то надо, еще и понимать что делаешь(
0
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
28.09.2013, 21:02 9
вот в комментариях написал

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
#include <iostream>
#include <stdlib.h>
using namespace std;
 
void printBinary(char ch)   // printBinary - это название функции. какое хотел такое и придумал. она принимает один символ (в круглых скобках)
{
    int n = 1<<(sizeof(char)*8-1);  // n - целое число. значение устанавливается сдвигом 1 на 7 позиций влево. в двоичном виде будет = 10000000 (если char занимает в памяти 1 байт)
 
    for (int i=sizeof(char)*8-1; i>=0; i--) // в этом цикле разрываем букву на отдельные биты и печатаем их
    {
        cout << ((ch & n) ? '1' : '0');     // печать отдельного бита
        n>>=1;                              // сдвиг битов у числа n вправо на 1
    }
    //cout << " ";  // разделитель между буквами
}
 
void printMsg(const char *msg)  // printMsg - название функции (сам придумал). можно другое написать, только в других местах программы тоже изменить
{
    for (int i=0; msg[i]; i++)
        printBinary(msg[i]);    // в каждой итерации цикла вызывается функция printBinary() и ей передается одна буква из строки
}
 
int main()
{
    system("chcp 1251 > nul"); // смена кодовой страницы на 1251
 
    printMsg("Aleksandr"); // вызов функции printMsg и передача ей адреса на начало строки
    cout << endl;
    
    system("pause"); // пауза
    return 0;
}
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 21:30  [ТС] 10
смотри что написал
Миниатюры
провести побитовое кодирование слов английского языка  
0
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
28.09.2013, 21:34 11
alex27121994, у меня работает

но тогда эту строчку можно убрать
C++
1
system("chcp 1251 > nul");
ничего страшного
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 21:45  [ТС] 12
всё супер) тока незнаю как я это обьяснять буду)
тут же циклы и функции, которые мы еще непроходили
0
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
28.09.2013, 22:00 13
Цитата Сообщение от alex27121994 Посмотреть сообщение
тока незнаю как я это обьяснять буду)
а что объяснять то? так и скажи что программу на форуме помогли сделать))
0
0 / 0 / 2
Регистрация: 18.03.2013
Сообщений: 19
28.09.2013, 22:08 14
по моему вам задали слишком сложную задачу как для первого курса !!
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 22:28  [ТС] 15
Дак препод осёл просто, мы еще тока ввод вывод начали)))
скажет ты чо обалдел чтоли, откуда циклы и функции, скажет тогда обьяснять каждую букву) ща буду видеокурсы смотреть ахахх
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
28.09.2013, 22:40 16
Цитата Сообщение от SergeyTszyu Посмотреть сообщение
по моему вам задали слишком сложную задачу как для первого курса !!
Приведи пример несложной задачи для первого курса.
Вот моё мнение: совсем элементарные алгоритмы, скажем, иллюстрирующие применение циклов и условий, должны изучаться в школе.
Вы уж не держите студентов-технарей, пусть даже перваков, за совсем уж блондинок, закончивших церковно-приходскую школу!

Добавлено через 2 минуты
Цитата Сообщение от alex27121994 Посмотреть сообщение
Дак препод осёл просто, мы еще тока ввод вывод начали)))
препод вам, ослам, ни чем не обязан. Книжки читать вас должны были в школе научить. Если ждёшь, что в ВУЗЕ будут каждую тему разжёвывать и в рот давать, лучше брось ВУЗ.

Добавлено через 7 минут
И вообще, ни в одном ВУЗе тебя программированию не обучат. Точнее, в хороших ВУЗах кое-чему учить может и будут, но для человека, не успевающего за программой это абсолютно бессмысленно.
Обычно препод будет перед аудиторией объяснять какие-то отдельные вопросы, а не разжёвывать, как ты ожидаешь. Но для студента, не имеющего никакого представления о предмете (а следовательно и не имеющего вопросов) это будет звучать как бормотание на китайском.
1
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
30.09.2013, 20:37  [ТС] 17
Нужно в этом коде избавиться от циклов и функций, написать чисто линейным алгоритмом. Сможет кто нить?)))

А вообще формулировка задания такая: провести побитовое кодирование слов английского языка( имени), выбрав минимальное кол-во переменных указанного типа unsigned int.

Заранее спасибо!

код:
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
#include <iostream>
#include <stdlib.h>
using namespace std;
 
void printBinary(char ch)
{
    int n = 1<<(sizeof(char)*8-1);
 
    for (int i=sizeof(char)*8-1; i>=0; i--)
    {
        cout << ((ch & n) ? '1' : '0');
        n>>=1;
    }
    //cout << " ";  // разделитель между буквами
}
 
void printMsg(const char *msg)
{
    for (int i=0; msg[i]; i++)
        printBinary(msg[i]);
}
 
int main()
{
    system("chcp 1251 > nul");
 
    printMsg("Aleksandr");
    cout << endl;
    
    system("pause");
    return 0;
}
0
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
01.10.2013, 04:00 18
Цитата Сообщение от alex27121994 Посмотреть сообщение
избавиться от циклов и функций
Что, даже main не должно быть?
Цитата Сообщение от alex27121994 Посмотреть сообщение
sizeof(char)
Это всегда равно 1.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.10.2013, 08:22 19
Странное условие: избавиться от функций. Для отображения в бинарном виде можно поюзать std::bitset
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
01.10.2013, 22:35  [ТС] 20
препод задал задачу эту и сказал решить ёё тока линейно, без всяких функций и циклов. т.к мы их еще не проходили. С циклами и функциями не принял(
вот прошу переделать
0
01.10.2013, 22:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2013, 22:35
Помогаю со студенческими работами здесь

Изучение Английского языка 25 кадр
Сейчас можно увидеть в интернете много рекламы по изучению английского языка методом 25 кадр?? Как...

Перевод задачи с английского языка
Прошу помощи при переводе задачи по прологу. Почему здесь? Смысл я понял, а при художественном...

Автоматический перевод с английского языка
Уважаемые, подскажите, пожалуйста, каким способом возможно решить данную задачу. Дан текстовый...

Времена глаголов английского языка
According to the manner in which they occur, error may be classed into systematic and random. ...


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

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