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

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

Войти
Регистрация
Восстановить пароль
 
momfrom
0 / 0 / 0
Регистрация: 05.07.2016
Сообщений: 3
#1

Проверить и вывести цифры из символьного массива - C++

05.07.2016, 16:58. Просмотров 166. Ответов 6
Метки нет (Все метки)

Здравствуйте! Новичок. Подскажите, пожалуйста!
Не понимаю, как проверить в символьном массиве, что это цифра, а это символ?

"Задание такое: Дан массив из k символов. Вывести на экран сначала цифры входящие в него, а потом все символы входящие в него, сохраняя при этом взаимное расположение символов в каждой из этих групп"

Поясните, пожалуйста, что значит взаимное расположение симвовлов в каждой из этих групп? Вообще не понял как это.
Спасибо!




C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    
    char lol[] = "1k34hu4ld54lfk";
    
    
    for (auto i : lol) //
                     if( i=цифра)
              cout << lol[i] << endl;
    
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2016, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить и вывести цифры из символьного массива (C++):

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

Как вывести на экран именно адрес символьного массива? - C++
Добрый день! Есть два кода с указателями: в одном указатель типа int, во втором типа char. #include &lt;iostream&gt; using namespace...

Цикл: каждый символ символьного массива вывести на новой строке консоли - C++
Доброго всем здравия, споткнулся на ровном месте, цикл do while отказывается делать, то что я хочу char S = &quot;gcfhgcf hdhgf 4754...

Заполнение массива значениями из символьного массива - C++
есть массив символов char z;есть целочисленный массив int b;каждый символ z это цифра 0-9 нужно в b записать символ z(не код символа а...

Инициализация символьного массива - C++
Проблема в том, что выдает ошибку &quot;требуется выражение&quot; - непосредственно внутри конструктора при попытке присвоить символьному массиву...

Заполнение символьного массива - C++
Когда ввожу символ все крашиться. ¯ \ _ (ツ) _ / ¯ Помогите пофиксить, пожалуйста. char* hand; char* arr = {}; ...

6
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 239
05.07.2016, 17:03 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main(){
    
    char lol[] = "1k34hu4ld54lfk";
    
    for (auto i : lol){ 
        if(isdigit(i)){
              cout << i;
        }
    }
    cout << endl;
    for (auto i : lol){ 
        if(!isdigit(i)){
              cout << i;
        }
    }
    cout << endl;
    return 0;
}
"сохраняя при этом взаимное расположение символов в каждой из этих групп" могу предположить, что нужно просто сохранить последовательность.
1
momfrom
0 / 0 / 0
Регистрация: 05.07.2016
Сообщений: 3
05.07.2016, 17:11  [ТС] #3
DarkVortex, подскажите, а откуда вы взяли isdigit()?
0
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 239
05.07.2016, 17:18 #4
momfrom, в ctupe.h он объявлен
0
momfrom
0 / 0 / 0
Регистрация: 05.07.2016
Сообщений: 3
05.07.2016, 17:23  [ТС] #5
А еще как-то другим способом, попроще, можно эту задачу решить?
Я просто не знаю как это назвать оператор или функция isdigit() , я понял что она обьявлена в заголовочном файле...но в лабораторной, в теории такого нет

DarkVortex, так как вы решили задачу, мне все понятно
0
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 239
05.07.2016, 17:35 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main(){
    
    char lol[] = "1k34hu4ld54lfk";
    
    for (auto i : lol){ 
        if(i >= '0' and i <= '9'){
              cout << i;
        }
    }
    cout << endl;
    for (auto i : lol){ 
        if(i < '0' or i > '9'){
              cout << i;
        }
    }
    return 0;
}
Ну вот так можно

Добавлено через 3 минуты
momfrom, а что в учебных заведениях получать и применять знания самостоятельно запрещено? isdigit это функция определяющая является ли ее параметр числом, что и следует из ее названия.
0
Banonanelly
89 / 21 / 21
Регистрация: 29.06.2016
Сообщений: 96
05.07.2016, 17:36 #7
Цитата Сообщение от momfrom Посмотреть сообщение
А еще как-то другим способом, попроще, можно эту задачу решить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{
    char lol[] = "1k34hu4ld54lfk";
 
    for (auto i : lol)
    {
        if (i >= '0' && i <= '9') cout << i;
    }
    cout << endl;
 
    for (auto i : lol)
    {
        if (i < '0' || i > '9') cout << i;
    }
    cout << endl;
    
    return 0;
}
0
05.07.2016, 17:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2016, 17:36
Привет! Вот еще темы с ответами:

Инициализация символьного массива - C++
Не получается инициализировать в программе символьный массив #include &lt;iostream&gt; using namespace std; struct names{ char...

Удалить * из символьного массива - C++
Надо проверить текст из Edit1 и удалить из него * void __fastcall TForm1::Button1Click(TObject *Sender) { int i; char...

Обработка символьного массива - C++
Задание по вычислительно

Перебор символьного массива - C++
Помогите, не могу написать прграмму которая добавляет символ. Например: вводим D:\myfolder\secondfolder\ , а выводим...


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

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

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