Одно из действий в задаче, заполнить массив.
#include <iostream>
#include <vector>
int main() {
std::vector<float>v;
std::vector<float>::iterator it;
float m, n;
std::cin >> m;
for(float i = 0; i < m; ++i){
std::cin >> n;
v.at(i) = n;
}
for(it = v.begin(); it < v.end(); ++it)
std::cout << *it;
return 0;
}
Потому что по умолчанию вектор у вас пустой. И вам надо не присваивать значения [несуществующим] элементам, а добавлять их в вектор:
for(float i = 0; i < m; ++i){
std::cin >> n;
v.push_back(n);
}
Конечно, можно объявить вектор так:
float m, n;
std::cin >> m;
std::vector<float> v(m);
и тогда использовать присваивание.
И еще.Количество элементов массива у вас целое - а вы используете float
.
Итератор не стоит объявлять в стиле C, вначале функции - ограничивайте область видимости переменных, т.е. пишите
for(std::vector<float>::iterator it = v.begin(); it < v.end(); ++it)
std::cout << *it << " ";
но еще лучше - чай, в 2019 году живем :) -
for(auto it = v.begin(); it < v.end(); ++it)
std::cout << *it << " ";
или даже
for(auto x: v)
std::cout << x << " ";
В общем, что-то вроде
using std::cin;
using std::cout;
using std::vector;
int main()
{
vector<float>v;
size_t m;
cin >> m;
for(size_t i = 0; i < m; ++i)
{
float x;
cin >> x;
v.push_back(x);
}
for(auto x : v)
cout << x << " ";
return 0;
}
std::vector<float>::iterator it;
а у вас iteratore
Чтобы обращаться к элементам вектора, надо сразу создавать вектор желаемого размера.
https://ideone.com/FFUfU6
#include <iostream>
#include <vector>
int main()
{
size_t n;
std::cin >> n;
std::vector <float> v(n);
for (auto &x : v)
std::cin >> x;
for(auto x : v)
std::cout << x << ' ';
return 0;
}
PS: А ещё советую использовать double
, а не float
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как отключить предупреждения в VS 2017? Использование #define _CRT_SECURE_NO_WARNINGS в самом начале кода не помогаетЕсли поставить в свойствах препроцессора...
Есть ли более короткая запись сравнения BigDecimal chisl1 >= chisl2, чтобы не писать два условия в if?