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

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

Войти
Регистрация
Восстановить пароль
 
женя777
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 37
#1

Поиск цифр в массиве char - C++

26.10.2013, 22:08. Просмотров 1156. Ответов 4
Метки нет (Все метки)

Задание: вводится строка из любых символов в ней ищутся цифры которые есть и выводятся только они непонимаю в чем ошибка ничего не выводит подскажите.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <iostream>
#include <conio.h>
#define size 50
 
int main(){
    char st[size];
    printf("vvedite stroky: ");
    scanf("%s",st);
    int n=strlen(st);
    for(int i=0;i<n;i++)
        for(int j=0;j<10;j++){
            if(st[i]==j) 
                printf("%d",j);}
    _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2013, 22:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск цифр в массиве char (C++):

Поиск слова в массиве символов char - C++
Получаю массив символов типа char из com port. есть ли способ поиска в этом массиве необходимого слова кроме как побайтово копировать ...

Интерполирующий поиск в массиве структур типа char - C++
Добрый вечер, дано задание сделать Интерполирующий поиск в массиве структур по полю char типа. Возможно ли вообще использовать...

C++,шаблон,специализация,поиск самой большой строки в массиве указателей на char - C++
Есть почти готовое решение,помогите пожалуйста доделать,немного не понимаю #include &lt;cstdlib&gt; #include &lt;iostream&gt; template...

Поиск нескольких цифр в массиве - C++
Всем доброго времени суток дорогие форумчане! Я бы хотел осуществить поиск нескольких цифр на массиве ? Как можно это реализовать? Пока...

Сортировка цифр в строке типа char - C++
Здравствуйте! Помогите, пожалуйста, дописать программу. Прогррамма должна сортировать буквы или цифры во введенной строке. Например...

JPEG в char массиве - C++
Скажите, как сделать JPEG как массив из байтов? Я использую библиотеку libjpeg.

4
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
26.10.2013, 22:14 #2
C++
1
if(st[i]==j)
Нужно делать не так, потому что здесь сравниваются коды ASCII символов, а у цифр они не от 1 до 10.
Вот так лучше
C++
1
2
3
for(int i=0;i<n;i++)
            if(st[i]>='0' || st[i]<='9') 
                printf("%d",j);
0
DirectX
23 / 17 / 6
Регистрация: 07.10.2013
Сообщений: 47
26.10.2013, 22:16 #3
Цитата Сообщение от женя777 Посмотреть сообщение
if(st[i]==j)
попробуй вот так if (st[i] - '0' == j)
1
женя777
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 37
26.10.2013, 22:31  [ТС] #4
Цитата Сообщение от DirectX Посмотреть сообщение
попробуй вот так if (st[i] - '0' == j)
спасибо заработало, а не подскажешь еще почему именно так просто я не очень шарю.
0
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
26.10.2013, 23:03 #5
Потому что ASCII код символа '0' - 48, соответственно, коды чисел лежат в диапазоне 48-57 (57 - ASCII код символа '9'). У вас же идет сравнение с ASCII кодами от 0 до 9, но не с самими символами, которые представляют числа. Ознакомьтесь с ASCII таблицей (ищется запросом в google), и все сразу станет понятно
1
26.10.2013, 23:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2013, 23:03
Привет! Вот еще темы с ответами:

Заполнение двухмерного массива типа char символами цифр - C++
Приветствую всех! Разбираю одну задачу, в которой двухмерный символьный массив заполняется цифрами, представленными в качестве символов....

Русские символы в массиве char - C++
имеется функция возвращающая массив байтов(символов), если данная строка английское слово то все нормально, иначе получается...

Замена символов в массиве char - C++
Всем привет! Задача: исходная строка (char) содержит числа десятичной системы счисления. Найти их, создать новую строку, в которой...

Заменить звездочками совпадения в массиве char - C++
Есть два массива, один заполненный русскими буквами, а второй заполняется постепенно с клавиатуры, тоже русскими буквами. Если буквы в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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