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

Вывести на экран порядковый номер слова,накрывающего К-ю позицию в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сохранение в файл http://www.cyberforum.ru/cpp-beginners/thread241517.html
Здравствуйте! Вообщем у меня такая задача: даны адресса с 77.106.0.0 до 77.106.225.225, нужно перебрать все возможные комбинации, т.е 77.106.1.0 77.106.1.2 и так далее, всего 225*225 комбинаций, и записать их все в текстовый файл. Програаму я начал писать, файл создался но данные туда не записываются, помогите разобратся пожалуйста. #include <iostream.h> #include <fstream.h> #include...
C++ Создайте класс Время, в котором реализованы операции сложения, вычитания, сравнения, ввода и вывод на экран Задание было такое: Создайте класс Время, в котором реализованы операции сложения, вычитания, сравнения, ввода и вывод на экран... Вот то, что получилось(не получилось): сравнение, вычитание кое-как срабатывает, а сложение выдает только первое слагаемое ostream & operator<<(ostream &output, const Time &t) { output<<t.hour; cout<<":"; output<<t.minute; return output; } http://www.cyberforum.ru/cpp-beginners/thread241487.html
C++ А* Алгоритм нахождения пути
Доброго времени суток, Я пишу лабораторную по А* но алгоритм уже должен работать но ни как не хочет посмотрите плиз код, буду очень благодарен... #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<iostream.h> #define imax 5 #define jmax 7 struct List {
C++ Преобразование символов в числа
Дан текст, содержащий целые числа. Вывести на экран сумму нечетных чисел. Ребят помогите пожалуйста с задачкой.
C++ Решите) буду благодарен) http://www.cyberforum.ru/cpp-beginners/thread241481.html
желательно напишите какие библиотеки включать 1. переставить элементы массива попарно: 1 со 2, 3 с 4, и т.д. 2. заменить элемент массива с номером к на элемент с номером м (номера к и м ввести с клавиатуры) 3. в массиве поменять местами максимальный элемент с минимальным
C++ Чтение\запись файлов Помогите с такой проблемой: записываю в бинарный файл числа типа long double, после чтения из файла теряются данные - к примеру вместо 12 получается 11,3321. Работаю с потоками, для чтения и записи используб перегрузки >>, <<. Заранее спасибо. подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
13.02.2011, 09:50     Вывести на экран порядковый номер слова,накрывающего К-ю позицию в строке
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/////////////////////////////////////////////////////////////////////////////////////////
//Дана строка символов, состоящая из произвольного текста, слова разделены пробелами.
//Вывести на экран порядковый номер слова, накрывающего К-ю позицию (если на К-ю позицию 
//попадает пробел, то номер предыдущего слова).
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <iterator>
#include <sstream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
/////////////////////////////////////////////////////////////////////////////////////////
void  normalize_str(T_str&  s)
{
    std::istringstream            ccin(s);
    std::istream_iterator<T_str>  ccin_beg(ccin),  
                                  ccin_end;
    
    std::ostringstream            sout;
    std::ostream_iterator<T_str>  sout_beg(sout, " ");
 
    std::copy(ccin_beg, ccin_end, sout_beg);
    s.assign(sout.str());
    if(!s.empty())
    {
        s.erase(s.size() - 1);
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
int  get_word_ind_covering_position(int  pos, const T_str&  s)
{
    return  std::count(s.begin(), s.begin() + pos, ' ') + 1;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    std::cout << "Введите строку слов, разделенных пробелами: "
              << std::endl;
    T_str  s;
    getline(std::cin, s);
    if(s.empty()) exit(0);
 
    normalize_str(s);
    std::cout << "Введенная строка без пробелов в начале и в конце и с одинарными пробелами "
              << std::endl
              << "между словами:"
              << std::endl
              << s
              << std::endl;
    for(;;)
    {
        std::cout << "Введите номер позиции 0 <= n <= "
                  << s.size() - 1
                  << ": ";
 
        size_t  pos = 0;
        std::cin >> pos;
        if(   pos < 0
           || s.size() - 1 < pos)
        {
            break;
        }
 
        std::cout << "Позицию "
                  << pos
                  << " накрывает слово с порядковым номером "
                  << get_word_ind_covering_position(pos, s)
                  << "."
                  << std::endl
                  << std::endl;
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru