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

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

Войти
Регистрация
Восстановить пароль
 
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
#1

Строки. - C++

19.10.2011, 15:25. Просмотров 368. Ответов 8
Метки нет (Все метки)

В какой - то ступор впал.
Нужно считать символ, а затем строку.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int main () {
    char ch;
    std::string str;
    std::cin >> ch;
    std::cin.ignore ('\n');
    std::getline (std::cin, str);
    //
    std::cout << str;
    //
    return 0;
}
работает неверно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 15:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки. (C++):

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

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: &quot;Добавить строки, начиная...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Указать номер строки, максимально удаленной от первой строки заданной матрицы - C++
Задание: Расстояние между k-й и 1-й строками квадратной матрицы А опеределяется как r = сумма от j=1 до N от (abs(akj)*abs(a1j)). Указать...

Найти среднее арифметическое каждой строки матрицы и отсортировать строки по возрастанию - C++
Дана квадратная матрица. Найти среднее арифметическое каждой строки и отсортировать строки по возрастанию этих характеристик

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
19.10.2011, 15:28 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int main () {
    char ch;
    std::string str;
    std::cin >> ch;
    std::cin.ignore (1, '\n');
    std::getline (std::cin, str);
    //
    std::cout << str;
    //
    return 0;
}
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
19.10.2011, 16:13  [ТС] #3
точно, спасибо )

Добавлено через 43 минуты
Не стал новую тему создавать.

Почему такой вариант не работает -
C++
1
std::transform (str.begin(), str.end(), str.begin(), std::toupper);
А такой
C++
1
std::transform (str.begin(), str.end(), str.begin(), ::toupper);
или такой
C++
1
std::transform (str.begin(), str.end(), str.begin(), toupper);
работают?
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
19.10.2011, 17:25 #4
Дело в том, что таких функций в C++ две, одна находится в <cctype>, а вторая в <locale>. Либо не указывай пространство имён, либо сделай так
C++
1
2
std::transform (str.begin(), str.end(), str.begin(), 
                static_cast<int(*)(int)>(std::toupper));
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
19.10.2011, 17:32  [ТС] #5
rangerx, но я в решении указал библиотеку cctype, то есть функцию он берет от туда. Или главное сам факт, что их две?)
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.10.2011, 18:01 #6
Цитата Сообщение от neske Посмотреть сообщение
что их две?
Ну да, одна унаследована из Си -
C++
1
int toupper ( int c );
,
вторая чисто С++`шная -
C++
1
2
template <class charT>
charT toupper ( charT c, const locale& loc );
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
19.10.2011, 19:34 #7
neske, достаточно подключить какой-нибудь заголовок, в котором используется <locale>(например, <iostream>) и можешь считать, что и <locale> ты подключил тоже.
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
19.10.2011, 19:38  [ТС] #8
rangerx, а я и не знал о таком.. спасибо.
fasked
Эксперт С++
4935 / 2515 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
20.10.2011, 10:50 #9
Цитата Сообщение от neske Посмотреть сообщение
но я в решении указал библиотеку cctype, то есть функцию он берет от туда. Или главное сам факт, что их две?
Будет использована та функция, которая при просмотре заголовочных файлов будет найдена первая (см. Википедия). Файл clocale может быть неявно подключен в других заголовочных файлах
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 10:50
Привет! Вот еще темы с ответами:

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
&quot;Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Как первые два символа строки переставить в конец этой строки? - C++
Собственно вопрос

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

Прибавить ко всем элементам каждой строки максимальное значение этой строки - C++
добрый вечер! Помогите пожалуйста доработать код! Изменить текущий массив, прибавив ко всем элементам каждой строки максимальное...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.10.2011, 10:50
Ответ Создать тему
Опции темы

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