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

Позиции - C++

Восстановить пароль Регистрация
 
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
10.05.2011, 19:52     Позиции #1
Имеется файл с числами. Найти сумму k1 - го и k2 - го чисел файла.

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

Добавлено через 1 час 50 минут
Ребят, потратьте немного своего времени, очень вас прошу. Последняя задачка осталась (( Пожалуйста ...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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     Позиции
Ответ Создать тему
Опции темы

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