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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
alex27121994
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 17:57     провести побитовое кодирование слов английского языка #1
провести побитовое кодирование слов английского языка( имени), выбрав минимальное кол-во переменных указанного типа unsigned int, тока это надо просто всё сделать т.к мы еще толком языка незнаем
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
28.09.2013, 19:04     провести побитовое кодирование слов английского языка #2
Чет не пойму
alex27121994
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 20:00  [ТС]     провести побитовое кодирование слов английского языка #3
Что именно??
вроде как я должен ввести имя: Александр, а прога должна выдать двоичный код: 0100111...
как то так
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
28.09.2013, 20:08     провести побитовое кодирование слов английского языка #4
ну char представляет собой целочисленное значение - и каждый символ это цифра на самом деле - берешь приводишь каждую букву к int, а дальше просто перевод из 10-чной в 2-ую систему исчисления
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
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;
}
alex27121994
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 20:34  [ТС]     провести побитовое кодирование слов английского языка #6
спасибо большое!! а ты можешь пояснить, а то я неделю всего с++ изучаю, и большенство тут мне непонятно. заранее спасибо!
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
28.09.2013, 20:38     провести побитовое кодирование слов английского языка #7
alex27121994, а что именно объяснить?)
alex27121994
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]); ну вот такие вот))
сам понимаешь неделю в универе, а делать как то надо, еще и понимать что делаешь(
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
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;
}
alex27121994
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 21:30  [ТС]     провести побитовое кодирование слов английского языка #10
смотри что написал
Миниатюры
провести побитовое кодирование слов английского языка  
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
28.09.2013, 21:34     провести побитовое кодирование слов английского языка #11
alex27121994, у меня работает

но тогда эту строчку можно убрать
C++
1
system("chcp 1251 > nul");
ничего страшного
alex27121994
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 21:45  [ТС]     провести побитовое кодирование слов английского языка #12
всё супер) тока незнаю как я это обьяснять буду)
тут же циклы и функции, которые мы еще непроходили
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
28.09.2013, 22:00     провести побитовое кодирование слов английского языка #13
Цитата Сообщение от alex27121994 Посмотреть сообщение
тока незнаю как я это обьяснять буду)
а что объяснять то? так и скажи что программу на форуме помогли сделать))
SergeyTszyu
0 / 0 / 1
Регистрация: 18.03.2013
Сообщений: 19
28.09.2013, 22:08     провести побитовое кодирование слов английского языка #14
по моему вам задали слишком сложную задачу как для первого курса !!
alex27121994
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
28.09.2013, 22:28  [ТС]     провести побитовое кодирование слов английского языка #15
Дак препод осёл просто, мы еще тока ввод вывод начали)))
скажет ты чо обалдел чтоли, откуда циклы и функции, скажет тогда обьяснять каждую букву) ща буду видеокурсы смотреть ахахх
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
28.09.2013, 22:40     провести побитовое кодирование слов английского языка #16
Цитата Сообщение от SergeyTszyu Посмотреть сообщение
по моему вам задали слишком сложную задачу как для первого курса !!
Приведи пример несложной задачи для первого курса.
Вот моё мнение: совсем элементарные алгоритмы, скажем, иллюстрирующие применение циклов и условий, должны изучаться в школе.
Вы уж не держите студентов-технарей, пусть даже перваков, за совсем уж блондинок, закончивших церковно-приходскую школу!

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

Добавлено через 7 минут
И вообще, ни в одном ВУЗе тебя программированию не обучат. Точнее, в хороших ВУЗах кое-чему учить может и будут, но для человека, не успевающего за программой это абсолютно бессмысленно.
Обычно препод будет перед аудиторией объяснять какие-то отдельные вопросы, а не разжёвывать, как ты ожидаешь. Но для студента, не имеющего никакого представления о предмете (а следовательно и не имеющего вопросов) это будет звучать как бормотание на китайском.
alex27121994
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;
}
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 438
01.10.2013, 04:00     провести побитовое кодирование слов английского языка #18
Цитата Сообщение от alex27121994 Посмотреть сообщение
избавиться от циклов и функций
Что, даже main не должно быть?
Цитата Сообщение от alex27121994 Посмотреть сообщение
sizeof(char)
Это всегда равно 1.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.10.2013, 08:22     провести побитовое кодирование слов английского языка #19
Странное условие: избавиться от функций. Для отображения в бинарном виде можно поюзать std::bitset
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 22:35     провести побитовое кодирование слов английского языка
Еще ссылки по теме:

Побитовое вычитание C++
C++ Кодирование слов
По русскому названию языка программирования определить английское название этого языка C++

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

Или воспользуйтесь поиском по форуму:
alex27121994
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 19
01.10.2013, 22:35  [ТС]     провести побитовое кодирование слов английского языка #20
препод задал задачу эту и сказал решить ёё тока линейно, без всяких функций и циклов. т.к мы их еще не проходили. С циклами и функциями не принял(
вот прошу переделать
Yandex
Объявления
01.10.2013, 22:35     провести побитовое кодирование слов английского языка
Ответ Создать тему
Опции темы

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