Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
momfrom
0 / 0 / 0
Регистрация: 05.07.2016
Сообщений: 3
1

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

05.07.2016, 16:58. Просмотров 208. Ответов 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
Ответы с готовыми решениями:

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

Как вывести на экран именно адрес символьного массива?
Добрый день! Есть два кода с указателями: в одном указатель типа int, во...

Цикл: каждый символ символьного массива вывести на новой строке консоли
Доброго всем здравия, споткнулся на ровном месте, цикл do while отказывается...

Написать функцию, которая будет выбирать из символьного ряда только цифры и выводить их как результат работы функции
У меня большие непонимания с символьными строками, так что очень нужна помощь...

Заполнение массива значениями из символьного массива
есть массив символов char z;есть целочисленный массив int b;каждый символ z это...

6
DarkVortex
103 / 69 / 19
Регистрация: 07.07.2014
Сообщений: 240
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 / 19
Регистрация: 07.07.2014
Сообщений: 240
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 / 19
Регистрация: 07.07.2014
Сообщений: 240
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
90 / 22 / 35
Регистрация: 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

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

Вывод символьного массива
Не выводит все что дальше пробела ( Как пофиксить? И чем это обусловлено ? ...

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


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

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

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