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

Istream_iterator - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ графические функции (анимация) http://www.cyberforum.ru/cpp-beginners/thread37127.html
прошу помочь с задачей:изобразить на экране снежинки,которые падают и увеличиваются в размерах.Снежинки имеют по 6 промежутков длинной 1 с одной точки,с конца каждого лучика виходят пять лучиков длинной 1/k,из конца которых выходит пять лучей длинной 1/k^2. заранее благодарен за помощь.
C++ Простая проверка почты Может кто знает исходники программки на Visual C++ простой проверки почты? Например если при проверки почты пришло письмо с определённым содержанием, сделать какое-то действие. Заранее благодарю... http://www.cyberforum.ru/cpp-beginners/thread37097.html
C++ Работа с файлами из консольного приложения
Есть две задачи которые требуют работать с файлами, а опыт работы с файлами из приложения у меня очень слабый. Задача 1: "Файл содержит данные об учениках школы: фамилия, имя, адрес(улица, дом, квартира), класс. Записать все данные об учениках данного класса во второй массив. Распечатать его, выделяя тех из них, кто живёт на улице Ленина." С записью в текстовый файл у меня проблем нет, по...
Обясните про функцию bioskey() C++
:help: Обясните как работать з bioskey на С. Бо надо сделать задания(создать меню с использованиям bioskey с помощью стрелок і Ентер).А я не могу до конца понять, HELP не помагает......
C++ Win32 API Работа с процессами http://www.cyberforum.ru/cpp-beginners/thread37088.html
Господа, здравствуйте! Я новичок в программировании, помогите пожалуйста в программе, не знаю как сделать. Мне нужно реализовать следующий алгоритм: программа запускает процесс, затем выполняет в цикле некие действия, пока процесс не завершится т.е. нужно использовать цикл do while. Подскажите пожалуйста, что нужно использовать в условии while, какую функцию?
C++ Исправьте пожалуйста ошибки Есть задача: создать массив данных о студентах группы. Записать имя, фамилию, год рождения каждого студента, оценки по пяти экзаменах. В списке студентов группы вычислить количество студентов с именами: Наталья, Владимир, Роман #include <stdio.h> #include <iostream.h> #include <conio.h> struct student // Шаблон структуры { char name; // имя char fam; // фамилия... подробнее

Показать сообщение отдельно
Olga_CS
Сообщений: n/a

Istream_iterator - C++

29.05.2009, 04:18. Просмотров 1015. Ответов 0
Метки (Все метки)

Есть задача: надо заменить циклы в программе на что-то с использование обобщеенного проргаммирования и std library функций:

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
#include <string>
#include <iostream>
#include <sstream>
#include "merge.h"
#include <algorithm> // for sort()
 
using namespace std;
 
typedef int T;
 
int main (int argc, char **argv)
{
  string line;
 
  getline (cin, line);
  int n1 = 0;
  {
    // Count number of items we can read from line
    T data;
    istringstream in (line);
    while (in >> data)
      ++n1;  }
  T* array1 = new T[n1];
  {
    // Read the data into array1
    istringstream in (line);
    for (int i = 0; i < n1; ++i)
      in >> array1[i];
  }
....
Первый цикл я заменила на
istream_iterator<T> iter1(in);
int n1 = count_if(iter1, istream_iterator<T>(), size1);

соответственно size1() функция:
int size1(T s)
{
int n;
n++;
}

Проблема в том что если я ввожу строку 1 2 3 привет 5, то n1=3, а надо что бы было =4. Как сделать так что бы код не останавливался на первом не integer типе и доходил до конца?


Второй цикл я заменила на:
istream_iterator<T> iter1(in);
copy (iter1, istream_iterator<T>(), ostream_iterator<T>(cout, "; "));
copy (iter1, istream_iterator<T>(), array1);


Если я ввожу 1 2 3 4 5, то вторая строка выдает правильный ответ = 1 2 3 4 5, но эти значения не копируются в array1 (копируется только первый элемент, а потом что-то непонятное...) Почему?

Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru