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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2012, 13:50   #1
narco3
Пользователь
 
Аватар для narco3
 
Регистрация: 02.10.2011
Сообщений: 32
Вопрос Строки + СИ

В заданой строке каждое слово заменить количеством букв в этом слове.
Не понимаю как выделить и удалить слово, чтобы на его место записать число. Может кто-нибудь подскажет?
Заранее благодарю!
narco3 вне форума Ответить с цитированием
Старый 13.10.2012, 18:41   #2
bormot
 
Регистрация: 10.10.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от narco3 Посмотреть сообщение
В заданой строке каждое слово заменить количеством букв в этом слове.
Не понимаю как выделить и удалить слово, чтобы на его место записать число. Может кто-нибудь подскажет?
Заранее благодарю!
Представь ,строку, как массив символов
Тогда удалением слова будет присвоение символов пробела соответствующим членам массива
bormot вне форума Ответить с цитированием
Старый 13.10.2012, 20:48   #3
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
По умолчанию

Код:
#include <iostream>
#include <conio.h>
#include <vector>
 
using namespace std;
 
 
int main()
{
 
    int size=10; //максимальная длина словаря
    string amount="sto sorok tri milliona   "; //сумма прописью
    vector<string> dictionary(size); //создать словарь
    int j=0; //позиция в словаре
 
    string allow; //переменная, для выделения слов из прописи
    int i=0; //позиция в прописи
    int size_dict=0; //количество слов в словаре
 
 
    //создание и подсчет слов в словаре
    while( i<amount.size() ){ //пока есть символы в прописи
        while( isalpha(amount[i]) ){
            allow+=amount[i];
            ++i;
        }
         while( !isalpha(amount[i]) )
            ++i;
        if( i<=amount.size() ){
            ++size_dict;
            dictionary[j]=allow;
            allow.clear();
            ++j;
        }
        if (i>=amount.size()){
            dictionary[j]=allow;
            ++size_dict;
        }
    }
 
 
    //вывод выделенных слов(словаря)
    for (int i=0; i<dictionary.size(); ++i)
     cout<<dictionary[i]<<" "<<endl;
 
    cout<<" "<<size_dict;
    return 0;
}
слова выводятся в массив. из него можно удалить.
gylayko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10