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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
#1

Позиции - C++

10.05.2011, 19:52. Просмотров 339. Ответов 3
Метки нет (Все метки)

Имеется файл с числами. Найти сумму k1 - го и k2 - го чисел файла.

Друзья, сделайте, если вас не сложно! Заранее большое вам спасибо, за понимание.

Добавлено через 1 час 50 минут
Ребят, потратьте немного своего времени, очень вас прошу. Последняя задачка осталась (( Пожалуйста ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2011, 19:52     Позиции
Посмотрите здесь:

C++ Определение позиции курсора
C++ Строки, позиции
C++ Позиции
Определить позиции SelStart'a C++
Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. C++
Копирование строки с позиции C++
C++ Запись и считывание с позиции в файле!
C++ Перемещение позиции курсора в консоли
Очистка файла с позиции C++
C++ метод позиции числа
C++ Определить позиции запятых
Измнение позиции в файле C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
10.05.2011, 20:25     Позиции #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
#include <iterator>
 
int main()
    {
    std::ifstream in("file");
    std::istream_iterator<int> first(in),second(first);
    int k1,k2;
 
    std::cin >> k1 >> k2;
 
    std::advance(first,k1 - 1);
    in.clear();
    in.seekg(0,std::ios::beg);
    std::advance(second,k2);
    
    std::cout << *first + *second << std::endl;
    }
Добавлено через 13 минут
или так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
#include <iterator>
 
int main()
    {
    std::ifstream in("file");
    std::istream_iterator<int> first(in),second;
    int k1,k2;
 
    std::cin >> k1 >> k2;
 
    std::advance(first,k1 - 1);
    in.clear();
    in.seekg(0,std::ios::beg);
    second = in;
    std::advance(second,k2 - 1);
    
    std::cout << *first + *second << std::endl;
    }
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
10.05.2011, 21:15  [ТС]     Позиции #3
Спасибо вам огромное ! А без использования итератора как нибудь можно?
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
10.05.2011, 21:19     Позиции #4
Можно как-нибудь так, по-крестьянски
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
 
int main()
    {
    std::ifstream in("test.txt");
    int k1,k2,first,second;
 
    std::cin >> k1 >> k2;
 
    while(k1--)in >> first;
    in.clear();
    in.seekg(0,std::ios::beg);
    while(k2--)in >> second;
 
    std::cout << first + second << std::endl;
    }
А вообще можно и получше придумать, да лень.
Yandex
Объявления
10.05.2011, 21:19     Позиции
Ответ Создать тему
Опции темы

Текущее время: 23:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru