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

Дана строка символов. Заменить в ней все пробелы на табуляции - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Facktor86
0 / 0 / 0
Регистрация: 12.03.2014
Сообщений: 7
15.03.2014, 03:02     Дана строка символов. Заменить в ней все пробелы на табуляции #1
Здравствуйте! Ребят, помогите решить следующие задачи :



Тема: Обработка строк

1)Дана строка символов. Заменить в ней все пробелы на табуляции.
2)Дана строка символов. Определить количество букв, количество цифр и количество остальных символов, присутствующих в строке.
3)Создать функцию для проверки корректности расстановки скобок в выражении.
4)Написать функцию, которая определяет является ли строка палиндромом (т.е. строкой, которую можно читать и слева направо, и справа налево: «А роза упала на лапу Азора», «Аргентина манит негра»).
5)Подсчитать среднюю длину слова во введенном предложении.
6)Создать функцию, которая находит первое вхождение заданного слова во введенном предложении(возвращает индекс начала слова), причем поиск начинается с символа, индекс которого передается в качестве параметра.


Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 03:02     Дана строка символов. Заменить в ней все пробелы на табуляции
Посмотрите здесь:

Нужно определить количество слов в строке. Заменить в ней все пробелы на табуляции C++
C++ Дана строка символов, заменить в ней все многоточия на плюсы
Дана строка символов. Выделить в ней цветом все символы C++
Дана строка символов до точки. Выделить в ней все русские буквы, сделав их заглавными C++
C++ Помощь в работе со строками (Дана строка. Заменить в ней каждую из групп, содержащих 3 или более одинаковых символов многоточием)
C++ Дана строка. Заменить в ней все строчные (латинские и русские) буквы соответствующими заглавными.

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
15.03.2014, 07:34     Дана строка символов. Заменить в ней все пробелы на табуляции #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <algorithm>
 
int main() {
    std::string str("123 gs sdg ");
    
    std::cout << str << std::endl;
    
    std::replace (str.begin(), str.end(), ' ', '\t');
    
    std::cout << str << std::endl;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <algorithm>
#include <ctype.h>
 
int main() {
    std::string str("123 gs sdg ");
    
    std::cout << str << std::endl;
    
    int 
        nn = count_if (str.begin(), str.end(), isdigit),
        nc = count_if (str.begin(), str.end(), isalpha), 
        ne = count_if (str.begin(), str.end(), [](char c) { return !(isalpha(c) || isdigit(c));});
    
    std::cout << nn << " " << nc << " " << ne << std::endl;
}
Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
int main() {
    std::string str("(123 gs sdg ");
    
    std::cout << str << std::endl;
    
    int n = 0;
    for (auto c : str) {
        if (c == '(') ++n;
        else if (c == ')') --n;
        if (n < 0) break;
    }
    std::cout << (n ? "fail" : "true") << std::endl;;
}
Алгоритм проверки скобок можно посмотреть тут: http://pro-prof.com/archives/578

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include <algorithm>
 
int main() {
    std::string str("12321");
    
    std::string buf = str;
    std::reverse(buf.begin(), buf.end());
    
    std::cout << (str == buf ? "true" : "false") << std::endl;
}
Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <sstream>
 
int main() {
    std::string str("12321 sdfg dfgdf"), word;
    std::stringstream sstr;
    int nword = 0, slen = 0;
    
    sstr << str;
    
    while (false == sstr.eof()) {
        sstr >> word;
        ++nword;
        slen += word.length();
    }
    
    if (0 == nword) 
        std::cout << "empty string";
    else
        std::cout << nword << " " << slen << " " << 1. * slen / nword << std::endl;
}
Дальше сам, мне надоело )
Yandex
Объявления
15.03.2014, 07:34     Дана строка символов. Заменить в ней все пробелы на табуляции
Ответ Создать тему
Опции темы

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