Staind Опубликовано 12 августа, 2008 Жалоба Поделиться Опубликовано 12 августа, 2008 (изменено) 1. #include <iostream> 2. #include <vector> 3. using namespace std; 4. int main() 5. { 6. vector <int> a; 7. vector <int> b; 8. vector <int> :: iterator aa; 9. vector <int> :: iterator bb; 10. int q; 11. for(int i=0;i<4;++i) 12. { 13. cin>>q; 14. a.push_back(q); 15. cin>>q; 16. b.push_back(q); 17. } 18. for(aa=a.begin(),bb=b.begin();aa<a.end();++aa,++bb) 19. { 20. if(*aa==*min_element(a.begin(),a.end())) 21. { 22. cout<<*bb; 23. } 24. } 25. return 0; 26. } Можно добиться такого же результата, не выполняя последний цикл for? 1. for(aa=a.begin(),bb=b.begin();aa<a.end();++aa,++bb) 2. { 3. if(*aa==*min_element(a.begin(),a.end())) 4. { 5. cout<<*bb; 6. } 7. } Если да, то как? Изменено 12 августа, 2008 пользователем Staind Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 12 августа, 2008 Жалоба Поделиться Опубликовано 12 августа, 2008 Вместо последнего цикла попробуй такой оператор: cout << b[min_element(a.begin(),a.end())-a.begin()]; Ссылка на комментарий Поделиться на другие сайты Поделиться
Staind Опубликовано 12 августа, 2008 Автор Жалоба Поделиться Опубликовано 12 августа, 2008 (изменено) Спасибо, да так работает. А почему нужно писать - a.begin() ? ведь вроде достаточно писать границы для итератора min_element... Изменено 12 августа, 2008 пользователем Staind Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 12 августа, 2008 Жалоба Поделиться Опубликовано 12 августа, 2008 (изменено) В качестве индекса нам нужно число, интервал между начальным и текущим адресами. Указатель - по сути адрес, поэтому разность двух указателей - уже число, а не указатель. Так что в дополнение к указателю (min_element) на минимальный элемент нам нужен второй указатель, на начало вектора. Как говорил Ной, всякой твари - по паре :1eye: P.S. min_element - просто функция, работающая с указателями и выдающая указатель, она у нас есть готовая, но ее и на простом С написать легко. А итераторы нам и даром не нужны (пока что)... :) Изменено 12 августа, 2008 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения