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

Преобразовать string в последовательность чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру с именем TRAIN http://www.cyberforum.ru/cpp-beginners/thread149005.html
Описать структуру с именем TRAIN, содержащую следующие поля:  название пункта назначения;  номер поезда;  время отправления. Написать программу, выполняющую следующие действия:  ввод с...
C++ Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных. Порядок следования ненулевых элементов относительно друг друга не менять. http://www.cyberforum.ru/cpp-beginners/thread149004.html
C++ Шаблоны функций
Добрый день, помогите, пожалуйста, найти ошибку - почему-то оказываюсь за пределами массива: #include<iostream.h> #include<conio.h> #include<iomanip.h> template <class T> void print(T *m,...
C++ Какой компилятор лучше выбрать для проганья на C++?
Добрый день господа,очень хочу попросить совета профессионалов. Учусь программированию на С++,С,но столкнулся с дилеммой,что выбрать к примеру:Visual C,или Dev? Пользую учебник Харви&Пола...
C++ Вывод на экран алфавита http://www.cyberforum.ru/cpp-beginners/thread148993.html
Помогите пожалуйста написать программу, в которой требуется вывести на экран все малые буквы латинского алфавита и их коды.
C++ Как поставить программу на паузу? Можно как то остановить выполнение программы C++ на пол секунды? И затем запустить снова. Если такое возможно то приведите плз пример в коде. подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.07.2010, 02:50
TranslateBin() - преобразует символьный массив из нулей и едениц в целочисленный массив из нулей и едениц, она копирует

C
1
2
    char number[] = "0101110101110001110";
    int arr[MAXINTARRAY];
делаем символьный массив из нулей и едениц
заготавливаем целочисленный массив, ничем не заполненный (garbage)

C
1
TranslateBin(arr, number, 7);
в массив arr из массива number копируем семь цифр (0101110)

C
1
TranslateBin(arr, number, strlen(number));
в массив arr из массива number копируем все цифры (0101110101110001110)

0101110101110001110 - это все цифры
хотим, например, скопировать не сначала и не до конца
вот 01011 1010111 0001110, второй кусок
делаем такой вызов

C
1
TranslateBin(arr, number+5, 7);
после этого в arr первые семь элементов будут равны 1 0 1 0 1 1 1

то есть мы преобразовали символы '0', '1' в цифры 0, 1
сами коды символов '0', '1', 'a', 'b' и так далее равны числам, которые совсем с ними не совпадают, какая таблица символов принята в системе, через ту они и будут вычисляться

Код
[guest@station ~]$ echo $'\x32'
2
[guest@station ~]$ echo $'\x31'
1
[guest@station ~]$ echo $'\x30'
0
[guest@station ~]$ echo $'\x40'
@
[guest@station ~]$
код нуля в ASCII равен 0x30 - это 48 в десятичной системе
поэтому, если сделать int n = '0'; , в n запишется не ноль, а 48

массив символов может содержать не только нули и еденицы, поэтому функцию TranslateBin() нужно дорабатывать, чтобы встретив не ноль и не еденицу, она возвращала -1
но это не горит
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru