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

Извлечь цифру из массива - C++

Восстановить пароль Регистрация
 
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
22.05.2012, 20:42     Извлечь цифру из массива #1
Добрый вечер. Нужно извлечь цифру из массива, к примеру
C++
1
char s[]="12345";
Пробывал вычитать '0' и atoi, безрезультатно. что мне делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 20:42     Извлечь цифру из массива
Посмотрите здесь:

Из положительных элементов массива извлечь корень, отрицательные возвести в квадрат C++
Ввести два массива, содержащих соответственно 6 и 7 компонентов. Извлечь квадратный корень из положительных элементов массивов. Операции ввода-вывода C++
Извлечь элемент из массива рандомным индексом C++
Каждую цифру числа забить в ячейку массива C++
C++ Разбить число на цифры, каждую цифру записать в ячейку массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
22.05.2012, 20:49     Извлечь цифру из массива #2
C++
1
int digit = s[i] - '0';
все должно работать
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
22.05.2012, 20:49     Извлечь цифру из массива #3
Попробуйте использовать указатель на C-строку, а не массив char, например:
C++
1
char* s = "12345";
Тогда atoi будет работать.
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
22.05.2012, 21:17  [ТС]     Извлечь цифру из массива #4
neske, пробывал, мне выводит -48


rakota, а если строка типа "abc123" как быть?
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
22.05.2012, 21:22     Извлечь цифру из массива #5
C++
1
2
3
    char* s = "abc123";
    int i = atoi(s + 3);
    cout << i;
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
22.05.2012, 21:22     Извлечь цифру из массива #6
h3mbr0, покажите весь код.
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
22.05.2012, 21:39  [ТС]     Извлечь цифру из массива #7
rakota, спасибо работает, но желательно было бы не переписывать весь код под указатель, но если никак не получиться перепишу(
neske, примерно так
C++
1
2
3
4
char s[64];
cin.getline(s,63);
int b=s[3]-'0';
printf("%d",b);
предположим я ввожу 123, мне выводит -48
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
22.05.2012, 21:40     Извлечь цифру из массива #8
C++
1
int b=s[3]-'0';
в этом месте вы обращаетесь к четвертому элементу, ну а если вы вводите 123, то сами понимаете.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2012, 21:54     Извлечь цифру из массива
Еще ссылки по теме:

Определить процент элементов массива, которые содержат цифру 5 C++
C++ Вставить элемент со значением k до и после всех элементов массива, заканчивающихся на цифру k
Обнулить младшую десятичную цифру каждого элемента массива C++

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

Или воспользуйтесь поиском по форуму:
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
22.05.2012, 21:54  [ТС]     Извлечь цифру из массива #9
Получилось! моя была ошибка, создавал буффер для sprintf, и случайно его вместо моей строки подставил
Yandex
Объявления
22.05.2012, 21:54     Извлечь цифру из массива
Ответ Создать тему
Опции темы

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