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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
#1

ASCII код - C++

31.01.2014, 17:38. Просмотров 1178. Ответов 33
Метки нет (Все метки)

Привет всем, помогите пожалуйста с задачай. Условие : Написать программу, которая выводит на экран первую часть таблицы кодировки символов (символы с кодами от 0 до 127). Таблица должна состоять из восьми колонок и шестнадцати строк. В первой колонке должны быть символы с кодом от 0 до 15, во второй — от 16 до 31 и т.д. Вот код :
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main()
{ int i, j, m, n;
    cout<<"Stroki : ";cin>>m;
    cout<<"Stolbci : ";cin>>n;
    cout<<"ASCII\n";
    char ** table = new char * [m];
    for(i = 0; i < m; i++)
Но он выводит только ASCII символы, а мне нужно чтобы выводило символы с кодами от 0 до 127.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2014, 17:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ASCII код (C++):

прога, которая по нажатой клавише выводит ascii - код символа это клавиши или scan - код самой клавиши. - C++
написать программу, которая по нажатой клавише выводит ascii - код символа этой клавиши или scan - код самой клавиши. осуществите вывод в...

ASCII код - C++
Каким образом можно создать границы для будущей таблицы с помощью ASCII или напиример вставить в С типа &quot;__________________&quot;(соединеная...

Преобразование ASCII код. - C++
Вот задачка: Ввести в консоли строку из пяти прописных латинских символов, преобразовать их в соответствующие строчные символы с помощью...

ASCII код Хемминга с++ - C++
Всем добрый день! Программа реализует код Хемминга, но только для двоичной уже переведенной, согласно таблице ASCII, таблице двоичной...

Вывести ascii код символа - C++
На самом деле я немного в ступоре, но почему код выводит число 99, а не 11? #include &lt;iostream&gt; using namespace std; int main() ...

Преобразование символа в ASCII код - C++
как это реализовать ? Добавлено через 4 минуты все, уже разобрался вот ... int1=int(ch); ...

33
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 19:13  [ТС] #16
Тамика, такое вышло
0
Миниатюры
ASCII код  
Xopecc
31.01.2014, 19:14
  #17

Не по теме:

BattleManLS, почти как у меня

0
Байт
Эксперт C
16144 / 10422 / 1552
Регистрация: 24.12.2010
Сообщений: 19,736
31.01.2014, 19:15 #18
Xopecc, Вместо cout можно использовать printf
C
1
printf("%03d ", table[i][j]);
C cout тоже как-то можно. Есть такая штука - спецификаторы. Наизусть не помню, т.к. редко пользуюсь.
1
Xopecc
31.01.2014, 19:17
  #19

Не по теме:

Байт, чем принципиально отличаются cout и printf ( а также cin и scanf) ??

0
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
31.01.2014, 19:18 #20
можно так(код в десятичном формате, символ в ASCII):
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main() {
    printf("Dec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\n");
    for(int i=0; i<16; i++) {  // 16 строк
        for(int j=0; j<8; j++) // 8 колонок
            printf("%3d %3c\t",j*16 + i,j*16 + i);
        printf("\n");
    }
    return 0;
}
Можно и по другому оформить. Строка с символом 09d уезжает, поскольку символ с кодом 9 является управляющим символом \t. А строка с символом 10d делает перевод на новую строку, поскольку 10d является управляющим символом \n (символ новой строки). Можно и исключения добавить для этих кодов, чтобы ничего не уезжало и выводилось красиво как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main() {
    printf("Dec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\tDec ASC\n");
    for(int i=0; i<16; i++) {  // 16 строк
        for(int j=0; j<8; j++) { // 8 колонок
            if( (j*16 + i)!=9 && (j*16 + i)!=10 )
                printf("%3d %3c\t",j*16 + i,j*16 + i);
            else
                printf("%3d    \t",j*16 + i);
        }
        printf("\n");
    }
    return 0;
}
1
Байт
Эксперт C
16144 / 10422 / 1552
Регистрация: 24.12.2010
Сообщений: 19,736
31.01.2014, 19:19 #21
Там еще есть тонкости использованием символов TAB (9) Enter (13). При выводе их на консоль происходит именно то, что и должно - табуляция и перевод на новую строку. Так что их лучше их не выводить, вместо них - пробельчик, например.
0
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
31.01.2014, 19:21 #22
Байт, может вывести вместо перевода на новую строку "\n", а вместо табуляции "\t". Именно как текст ?
0
soundtrack
42 / 42 / 4
Регистрация: 15.12.2011
Сообщений: 131
31.01.2014, 19:21 #23
BattleManLS, Забейте в гугле ASCII таблицу и вы увидите, что девятый символ таблицы - это табуляция '\t', а десятый - это символ новой строки '\n'. Именно поэтому когда вы их выводите, то визуально это некрасиво
Поставьте условие, например,
Код
if(table[i][j]=='\t') 
{cout<<"\\t";}
Ну или как-то так для большей красоты .

Не по теме:

Пока писал - уже ответили)

0
Байт
Эксперт C
16144 / 10422 / 1552
Регистрация: 24.12.2010
Сообщений: 19,736
31.01.2014, 19:21 #24
Цитата Сообщение от Xopecc Посмотреть сообщение
чем принципиально отличаются cout и printf ( а также cin и scanf) ??
ИМХО, на данном уровне освоения языка разницей можно пренебречь.
0
Xopecc
31.01.2014, 19:23
  #25

Не по теме:

soundtrack, я тебя опередил

0
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
31.01.2014, 19:24 #26
Свои 5 копеек:
Добавь
C++
1
#include <iomanip>
и замени на
C++
1
cout<<setw(2) <<table[i][j] <<setw(5)<< static_cast<int>(table[i][j]);
0
Байт
Эксперт C
16144 / 10422 / 1552
Регистрация: 24.12.2010
Сообщений: 19,736
31.01.2014, 19:24 #27
Цитата Сообщение от Xopecc Посмотреть сообщение
может вывести вместо перевода на новую строку "\n", а вместо табуляции "\t". Именно как текст ?
Идея здравая! Только слэш не забудь повторить. И учти, что выведется 2 символа. Т.е. и все остальные надо на 2 позиции помещать...
1
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 19:25  [ТС] #28
Байт, Как вариант с кодом, без символом отлично работает. Спасибо.
0
Миниатюры
ASCII код  
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
31.01.2014, 19:28 #29

Не по теме:

Байт, я тестил не собирался



Добавлено через 37 секунд
BattleManLS, а почему всего 72 символа?
0
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
31.01.2014, 19:30 #30
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
#include <iostream>
#include <iomanip>
 
using namespace std;
int main()
{ int i, j, m, n;
    cout<<"Stroki : ";cin>>m;
    cout<<"Stolbci : ";cin>>n;
    cout<<"ASCII\n";
    char ** table = new char * [m];
    for(i = 0; i < m; i++)
    {
        table[i] = new char[n];
        for(j = 0; j < n; j++)
        { table[i][j] = (n*i + j);
        
          cout<<setw(5)<< static_cast<int>(table[i][j]);
}
             cout<<endl; 
    }
   system ("Pause");
    return 0; 
 
    
    }
1
Миниатюры
ASCII код  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2014, 19:30
Привет! Вот еще темы с ответами:

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

Перевод символов в код таблицы ascii - C++
помогите перевести элементы символьного массива в код таблицы ascii

ASCII код последного символа в слове - C++
Здраствуйте. Помогите пжл с примерной реализацией на С++ или просто на словах: как можна получить ASCII код последного символа в...

Перевести в ASCII код русские буквы - C++
Ребят, возникла проблема перевод в ascii код русские буквы. В инетрнете нашел что надо использовать unsigned char но он не правильно...


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

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

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