У меня есть две проблемы, которым я верю.Они связаны с i) инициализацией векторов и ii) получением значений smallest
и greatest
, соответствующих правильным значениям в векторе.
Я пробовал пару вещей:
Когда я инициализирую smallest
и greatest
, я всегда сталкиваюсь с проблемой, что оба значения начинаются с 0
как их начальное значение.Я попытался вручную ввести значение, чтобы инициализировать обе переменные (smallest = distance[i]
, но на самом деле это не сработало, поскольку мои векторы изначально были пустыми.
#include "pch.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using std::cout;
using std::cin;
using std::vector;
using std::string;
int main()
{
// Read a sequence of double values into a vector
vector <double> distance = {}; // declaring the vector named "distance"
double sum = 0;
double smallest;
double greatest;
for (double x = 0; cin >> x;) { // read into distance, to terminate putting values in vector use anything that is not of variable type of vector
distance.push_back(x); // put distance into vector
cout << '\n';
for (int i = 0; i < distance.size(); i = i + 1) { // keeping track of elements in vector by displaying them
cout << distance[i] << '\n';
}
}
for (int i = 0; i < distance.size(); i = i + 1) { // adding up all values of vector by iterating through all elements
sum = sum + distance[i];
}
cout << "The total sum of all the elements in the vecotr is: " << sum <<
'\n';
for (int i = 0; i < distance.size(); i = i + 1) { // determining the smallest value in the vector
if (smallest > distance[i]) {
smallest = distance[i];
}
}
cout << "The smallest value in the vector is: " << smallest << '\n';
for (int i = 0; i < distance.size(); i = i + 1) { // determining the greatest value in the vector
if (greatest < distance[i]) {
greatest = distance[i];
}
}
cout << "The greatest value in the vector is: " << greatest << '\n';
cout << "The mean distance between two neigbouring cities is: " << sum / distance.size() << '\n';
}
Какие предложения / советыМожет ли кто-нибудь дать мне возможность работать через это?