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

Вывод букв с помощью указателей (требуется помощь) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Cоздать ключ с шейкерной сортировкой и 2умя счетчиками (количество подсчетов и количество сравнений) http://www.cyberforum.ru/cpp-beginners/thread914458.html
создать ключ с шейкерной сортировкой и 2умя счетчиками( количество подсчетов и количество сравнений)
C++ Наследование Полиморфизм Инкапсуляция Если можно добавьте коментарии в код #include<iostream> #include<iomanip> #define MAX 100 using namespace std; struct PRICE { char name_magazine; char name_gods; int stoimost; }; http://www.cyberforum.ru/cpp-beginners/thread914456.html
Левый и правый двоичный поиск C++
Помогите, пожалуйста, не проходит 1 тест, не понимаю из-за чего :( Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из второго списка определите номер первого и последнего появления этого числа в первом списке. Формат входных данных В первой строке входных данных записано два числа N и M (1NM20000). Во второй строке записано N упорядоченных по...
C++ Создание и использование собственных библиотек
Создал я библиотеку с таким вот простым кодом (компилятор mingw):int foo() { return 100; }Получился у меня файл libcppstaticlibrary_1.a, закинул я его в папку с новым проектом. Хотел так использовать:#include <iostream> #include "libcppstaticlibrary_1.a"; int main() { std::cout<<foo(); return 0;
C++ Взять последовательность чисел из файла - определить, является ли она геометрической прогрессией http://www.cyberforum.ru/cpp-beginners/thread914446.html
взять последовательность чисел из файла. Определить, является ли он геометрической прогрессией
C++ расчет погрешности Код программы, считающей погрешность при переводе десятичной дроби в двоичную Не могу понять зачем нужна и как работает эта строка: b = b | 040000000; // Добавление 1 перед мантиссой Еще, при вводе числа например 11111111 (8 единиц) или любых других цифр в количестве 8, программа выдает дикую ахинею, препод просит объяснить почему так. я подозреваю, что дело в переполнении разрядной сетки,... подробнее

Показать сообщение отдельно
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
29.06.2013, 13:20     Вывод букв с помощью указателей (требуется помощь)
@Nikko12, идея хоть и бред, но ее можно реализовать примерно так:
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
#include <iostream>
#include <fstream>
#include <vector>
#include <utility>
#include <iterator>
 
using namespace std;
 
int main()
{
    ifstream file("input.txt");
    istreambuf_iterator<char> it( file ), it2( file ), eos;
    vector<pair<istreambuf_iterator<char>, int>> v;
 
    while ( it2 != eos ) {
        while ( it2 != eos && isspace(*it2) ) ++it2;
 
        it = it2;
 
        int count = 1;
 
        while ( ++it2 != eos && !isspace(*it2) ) ++count;
 
        if (it != eos)
            v.push_back( {it, count} );
    }
 
    for (auto p : v)
        cout << *p.first << " - " << p.second << endl;
    file.close();
    return 0;
}
Но лучше будет считать все слова в вектор:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
#include <vector>
#include <utility>
#include <iterator>
#include <memory>
 
using namespace std;
 
int main()
{
    vector<string> vec( istream_iterator<string>(
                                *unique_ptr<ifstream>(new ifstream( "input.txt" )) ),
                        ( istream_iterator<string>() ) );
    for (const auto &x : vec) cout << x << " - " << x.size() << endl;
    return 0;
}
 
Текущее время: 20:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru