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

Разделить строку на буквы и цифры и записать в два стека - C++

Восстановить пароль Регистрация
 
Sardana-12
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 46
11.04.2014, 14:53     Разделить строку на буквы и цифры и записать в два стека #1
нужно создать два стека, ввести строку, состоящую из букв и цифр. Затем разделить их, в первый стек буквы, а во-второй цифры.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2014, 14:53     Разделить строку на буквы и цифры и записать в два стека
Посмотрите здесь:

Ввести строку, в которую могут входить только цифры и буквы C++
C++ Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
Обработать строку так, чтобы чтобы в ней остались только те слова которые содержат буквы и цифры C++
Описать строку А. Из входной последовательности символов записать в строку А только цифры C++
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
11.04.2014, 15:14     Разделить строку на буквы и цифры и записать в два стека #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{   
    int s1[100];
    int top1 = 0;
    char s2[100];
    int top2 = 0;
    char str[256];
    cin.getline(str,256);
    for (int i = 0; i < strlen(str); ++i){
        if (str[i]>= '0' && str[i] <= '9'){
            s1[top1++] = str[i] - '0';
        }
        else{
            s2[top2++] = str[i];
        }
    }
    cout << "Digit stack: " << endl;
    for (int i = 0; i < top1; ++i){
        cout << s1[i];
    }
    cout <<endl <<"Char stack" <<endl;
    for (int i = 0; i < top2; ++i){
        cout << s2[i];
    }
    _getch();
    return 0;
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
11.04.2014, 15:15     Разделить строку на буквы и цифры и записать в два стека #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <stack>
#include <cctype>
#include <algorithm>
 
template <typename T>
void print_stack(std::stack<T> st)
{
   while (!st.empty())
   {
      std::cout << st.top() << " ";
      st.pop();
   }
   std::cout << std::endl;
}
 
int main()
{
   std::string str;
   std::cout << "Enter string: -> ";
   std::getline(std::cin, str);
   auto it = std::partition(str.begin(), str.end(), isdigit);
 
   std::stack<char> digits(std::stack<char>::container_type{str.begin(), it});
   std::stack<char> letters(std::stack<char>::container_type{it, str.end()});
 
   std::cout << "Stack of digits:\n";
   print_stack(digits);
   std::cout << "Stack of letters:\n";
   print_stack(letters);
 
   return 0;
}
Sardana-12
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 46
13.04.2014, 12:16  [ТС]     Разделить строку на буквы и цифры и записать в два стека #4
это не стеки
Yandex
Объявления
13.04.2014, 12:16     Разделить строку на буквы и цифры и записать в два стека
Ответ Создать тему
Опции темы

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