Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Информатика, 10 класс, с++, символьные строки

Olya Kim Ученик (101), закрыт 4 года назад
1)С клавиатуры вводится символьная строка длиной. Определите, сколько раз встречается в строке каждый из входящих в нее символов.
2)С клавиатуры вводится предложение, в котором слова разделены пробелами. Определите, сколько слов в этом предложении начинается и заканчивается на одну и ту же букву.
3)Напишите функцию, которая удаляет из переданной ей символьной строки все символы, заключенные в угловые скобки '<' и '>' (вместе с этими скобками).
Нужно написать на с++, пожалуйста, очень сильно прошу, СРОЧНО!!!
Дополнен 4 года назад
Символьные строки типа string. Написать задачи с использованием s.substr / s.erase / s.insert / s.find.
Лучший ответ
Nick Zimackov Ученик (136) 4 года назад
1)

#include
#include

using namespace std;

int main() {
string str;
cout << "Enter the string: ";
cin >> str;

for (int i = 0; i < str.length(); i++) {

// Проверка на то что символ ранее не встречался в строке
bool repeat = false;
for (int j = i - 1; j >= 0; j--)
if (str[i] == str[j])
repeat = true;

// Подсчёт количества вхождений символа в строку
if (!repeat) {
int k = 0, pos = i;
while (str.find(str[i], pos) != string::npos) {
k++;
pos = str.find(str[i], pos + 1);
}
cout << str[i] << " - " << k << "\n";
}
}

system("pause");
return 0;
}

3)
int main() {
string str;
cout << "Enter the string: ";
cin >> str;

str.erase(str.find('<'), str.find('>') - str.find('<') + 1);

cout << "Result string: " << str << "\n";

system("pause");
return 0;
}
Nick ZimackovУченик (136) 4 года назад
2)
int main() {
string str;
cout << "Enter the string: ";
getline(cin, str);

// Составляем строку из первых и последних букв всех слов
string letters = "";
letters.push_back(str[0]);
for (int i = 0; i < str.length(); i++)
if (str[i] == ' ') {
letters.push_back(str[i - 1]);
letters.push_back(str[i + 1]);
i++;
}
letters.push_back(str[str.length() - 1]);

// Если два соседних символа равны увеличиваем счётчик слов
int count = 0;
for (int i = 0; i < letters.length() - 1; i++){
if (letters[i] == letters[i + 1])
count++;
}
cout << "Count of words: " << count << "\n";

system("pause");
return 0;
}
Olya Kim Ученик (101) Огромнейшее спасибо!!! Выручил)
Olya KimУченик (101) 4 года назад
Спасибо большое! Но есть пара проблем. В первом номере прога выводит не все буквы (имею ввиду сколько раз они встречаются). И ещё в третьем задании после знака "<" удаляет все символы после него, не обращая внимания на ">". Можешь, пожалуйста, помочь?
Nick Zimackov Ученик (136) Поменяй строку cin >> str; на getline(cin, str);
Остальные ответы
Юлия М Мудрец (10477) 4 года назад
когда же вы сами будете учит уроки?
Похожие вопросы