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

Поиск знаков пунктуации в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическое создание функций http://www.cyberforum.ru/cpp-beginners/thread794187.html
всем доброго времени суток. меня собственно интересует такой вопрос можно ли в с++ динамически создавать функции?(то есть прописать в коде лишь алгоритм их создания, а сами функции чтобы создавались в процессе работы программы, в зависимости от введённых действий) например в моей работе нужно чтобы программа считывала математическую функцию( с клавиатуры или файла) и находила значения этой...
C++ Инициализация указателя Написал такой код: #include <iostream> using namespace std; int main() { int n=10; int* a=new int ; http://www.cyberforum.ru/cpp-beginners/thread794185.html
Поиск и нажатие C++
Здравствуйте, подскажите пожалуйста, как решить данную задачу. Задача: Допустим, есть игра под названием X, где ты играешь за персонажа, (он может быть любой, как в diablo), и чтобы программа, при маленьком здоровье персонажа (например ~10%, то есть должна постоянно мониторить!), нажимала клавишу, допустим "M". Заранее спасибо!)
Зацикливание дочерней программы C++
Необходимо, например, 1000 раз выполнить откомпилированный файл (1.ехе). Можно это сделать, например так: for (int i = 0; i<1000; i++) system ("start 1.exe"); но жалко винчестер. :) Нельзя ли как нибудь зациклить выполнение процесса дочернего файла в оперативной памяти средствами родительской пограммы?
C++ Составить программу, котороая запрашивает стоимость книг, сумму денег, внесенную покупателем, а затем определяет причитающуюся сдачу http://www.cyberforum.ru/cpp-beginners/thread794166.html
1. В продаже книг в книжном магазине принимает участвие компьютер. Составить программу, котороая запрашивает стоимость книг, сумму денег, внесенную покупателем, а затем определяет причитающуюся сдачу (если денег внесено больше); печатает "Спасибо за покупку!" если сдача не требуется или выдает сообщение о недостаточности внесенной суммы.
C++ Не работает, найдите пожалуйста ошибку // lr2.cpp: главный файл проекта. #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #include <string.h> using namespace System; using namespace std; подробнее

Показать сообщение отдельно
affeqt
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 13

Поиск знаков пунктуации в строке - C++

25.02.2013, 01:47. Просмотров 1016. Ответов 9
Метки (Все метки)

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

Напишите программу поиска в строке знаков пунктуации. Программа должна позволить ввести символьную строку, содержащую знаки пунктуации, и вывести эту же строку, но уже без знаков пунктуации.
Сам алгоритм решения задачи прост и понятен: берем строку через стандартный ввод, через цикл проверяем каждый элемент, является ли он знаком пунктуации или нет, и в зависимости от этого, записываем его в ответ или нет.
Проблемы появились при реализации.

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
#include <iostream>
#include <string>
 
using std::cin;
using std::cout;
using std::endl;
using std::string;
 
int main()
{
    string in;
    string out;            
    getline(cin, in);              //преобразуем входные данные в строку
    string::size_type j = 0;
    
    //проходим лупингом по символам, проверяя, является ли символ буквой/числом
    for (string::size_type i = 0; i != in.size(); ++i) {
        if (isalnum(in[i])) {
            //если является - записываем подходящий под условия символ
            //затем ++индекса массива ответов
            out[j] = in[i];
            ++j;
        };
    };
    cout << out << endl;    
    return 0;   
}
Проблема в том, что при прогоне этого кода, не выполняется предпоследняя строчка кода стандартного вывода. Точнее, выполняется, но вместо строки выводится чистая строка, только и всего.

Специально проверял, правильно ли работает увеличение i и j (для этого в теле for/if вставлял выводы i/j). Как оказалось, абсолютно верно работают. i увеличивается исправно, с каждым разом, как происходит проверка символа, останавливается тоже вовремя. j работает тоже абсолютно верно, последнее значение совпадает с количеством символов, которые должны быть в ответе.
Какого черта символы не желают выводиться на экран — ума не приложу.
Помогите, чем можете, добрые люди!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru