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

ASCII код - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 17:38     ASCII код #1
Привет всем, помогите пожалуйста с задачай. Условие : Написать программу, которая выводит на экран первую часть таблицы кодировки символов (символы с кодами от 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.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 17:51  [ТС]     ASCII код #2
Вот то что выводит, только символы, без кода.
Миниатюры
ASCII код  
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 246
31.01.2014, 18:12     ASCII код #3
BattleManLS, какой именно код должен содержаться рядом с символом?
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 18:25  [ТС]     ASCII код #4
*Правка кода( был не скопировал кусок)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#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++)
    {
        table[i] = new char[n];
        for(j = 0; j < n; j++)
        { table[i][j] = (n*i + j);
            cout<<table[i][j];  }
        cout<<endl; }
    return 0; }
Добавлено через 3 минуты
Xopecc, как я понял, код данного символа

Добавлено через 4 минуты
Или может как то сделать чтобы выводило только код, так как если выводить код + символ, то нарушится структура таблицы (количество столбцов и строк).
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
31.01.2014, 18:25     ASCII код #5
Добавьте
C++
1
static_cast<int> (*ваша переменная чар*)
И тогда выведет не символ, а код символа.

Попробуйте.

C++
1
cout<<table[i][j]<<static_cast<int>(table[i][j]);
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
31.01.2014, 18:29     ASCII код #6
Цитата Сообщение от BattleManLS Посмотреть сообщение
Или может как то сделать чтобы выводило только код, так как если выводить код + символ, то нарушится структура таблицы (количество столбцов и строк).
А так разве не нарушится (даже с пробелами):
0 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
?
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 18:49  [ТС]     ASCII код #7
Тамика, О Спасибо, работает, только кривость немного напрягает. Не знаешь как сделать что код распределялся по колонкам (В первой колонке должны быть символы с кодом от 0 до 15, во второй — от 16 до 31). И не пойму почему первые 2 строчки очень кривые.
Миниатюры
ASCII код  
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 18:50  [ТС]     ASCII код #8
mustimur, Хоть как то, сдам 2 варианта с ровными символами и второй вариант с кривым кодом.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
31.01.2014, 18:54     ASCII код #9
Это нужно просчитать... Если честно - на работе и немного занята. Если успею - то сделаю. А на когда нужно?
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 18:57  [ТС]     ASCII код #10
Тамика, О, в понедельник утром сдаю, Буду очень благодарен .
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
31.01.2014, 19:01     ASCII код #11
А, тогда не проблема.

Добавлено через 3 минуты
Еще раз точнее - Вам нужно восемь колонок и шестнадцать строк, включая коды? То есть, с добавлением кодов такая же структура должна быть?
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 246
31.01.2014, 19:05     ASCII код #12
BattleManLS, в первых двух строках (от 0 до 13) большинство символов, не поддерживаемых консолью...
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
31.01.2014, 19:06     ASCII код #13
А попробуйте добавить пробел в выводе
C++
1
std::cout<<table[i][j] << "  " << static_cast<int>(table[i][j]);
и вводить не 16 и 8, а 32 и 16. Красивее выглядит.

Добавлено через 43 секунды
Цитата Сообщение от Xopecc Посмотреть сообщение
BattleManLS, в первых двух строках (от 0 до 13) большинство символов, не поддерживаемых консолью...
У меня выводит.
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 246
31.01.2014, 19:09     ASCII код #14
Тамика, у меня такая "шняга" выводится:
Миниатюры
ASCII код  
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
31.01.2014, 19:11     ASCII код #15
Цитата Сообщение от Xopecc Посмотреть сообщение
Тамика, у меня такая "шняга" выводится:
Н-ну да.
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
31.01.2014, 19:13  [ТС]     ASCII код #16
Тамика, такое вышло
Миниатюры
ASCII код  
Xopecc
31.01.2014, 19:14
  #17

Не по теме:

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

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

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2014, 19:18     ASCII код
Еще ссылки по теме:

C++ ASCII код последного символа в слове
C++ Вывести ascii код символа
ASCII код Хемминга с++ C++

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

Или воспользуйтесь поиском по форуму:
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
31.01.2014, 19:18     ASCII код #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;
}
Yandex
Объявления
31.01.2014, 19:18     ASCII код
Ответ Создать тему
Опции темы

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