Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2018, 20:37   #1
LOkeron
Пользователь
 
Аватар для LOkeron
 
Регистрация: 18.11.2018
Сообщений: 26
По умолчанию Работа со строками c++

Добрый вечер всем, написал программу, но она ругается, не могли бы подсказать на проблему?

Задание: Даны строки, содержащая латинские буквы и цифры. Перед каждой гласной
буквой вставить восклицательный знак.



#include <iostream>
#include <string>
using namespace std;

int main() {
{string x;
string y = "aeiouy";
getline(cin, x);
unsigned int k = 0;
int z;
k = x.find(y);
while (k < x.length())
{
x.insert(k, '!');
z = k + 2;
x.find_first_of(y, z);
}
cout << x;

return 0;
}
}

Последний раз редактировалось LOkeron; 28.11.2018 в 20:54.
LOkeron вне форума Ответить с цитированием
Старый 28.11.2018, 21:21   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,551
По умолчанию

Это точно С++ ?
Я - не компилятор, но тоже ругался матом на "строковые функции" x.insert x.find_first_of Это из какого-то другого языка, возможно Brainfuck
Срочно читать http://cppstudio.com/post/437/
digitalis вне форума Ответить с цитированием
Старый 28.11.2018, 21:33   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Точно С++. И с функциями нормально https://en.cppreference.com/w/cpp/string/basic_string
Другое дело, что искать то надо гласные по отдельности, а не строку "aeiouy" целиком.
p51x вне форума Ответить с цитированием
Старый 28.11.2018, 22:45   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,551
По умолчанию

Ну тогда пардон. Это какая-то надстройка над базовым С++ ? Методы строкового класса ? Каюсь, тёмен в ++ - того, что выходит за "чистый С" . Хорошо, когда есть кому поправить
digitalis вне форума Ответить с цитированием
Старый 29.11.2018, 03:20   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Это какая-то надстройка над базовым С++ ?
Нет, это стандартный STL.

Цитата:
Сообщение от digitalis Посмотреть сообщение
Методы строкового класса ?
Угу. Теоретически лучше использовать такие из алгоритмов, чтобы можно было обобщить.

Цитата:
Сообщение от digitalis Посмотреть сообщение
Каюсь, тёмен в ++ - того, что выходит за "чистый С" .
Т.е. вы про RAII ни-ни?..
p51x вне форума Ответить с цитированием
Старый 29.11.2018, 11:11   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,551
По умолчанию

Признаюсь со стыдом - ни-ни. На "чистом" Си я работал под ДОСом в прошлом тысячелетии, книги по ++ просматривал (без особого успеха), а под Винду уже использовал Delphi. Но так, как блондинка ездит на авто: газ, сцепление, тормоз и еще куча каких-то непонятных рычажков. Т.е. использую базовые конструкции, свои классы не пишу. Так что с советами по ++ теперь выступать не буду, разве что будет явный алгоритмический ляп, а по синтаксису - избави всевышний
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со строками (С++) lenincore Помощь студентам 3 16.01.2012 00:28
Работа со строками. Nursik77 Помощь студентам 5 12.04.2011 21:47
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа со строками в С(СИ) savra Помощь студентам 0 26.11.2009 12:50
работа со строками Андрей.12 Помощь студентам 3 15.11.2009 19:42