如何乘以向量整数
How do I multiply vector integers
所以基本上我想使用 for 循环将向量乘以 60 从秒到分钟和小时 3 次。我还想在该向量中再添加 3 个值,这些值应该存储一个比它之前的最后一个整数大 60 倍的值。
这就是我到目前为止的想法,但它只打印了 2 次,所以我做错了什么?
#include <iostream>
#include <vector>
int main() {
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
i = seconds.at(i) * 60;
seconds.push_back(i);
}
for (int i = 0; i < seconds.size(); i++) {
std::cout << seconds[i] << std::endl;
}
return 0;
}
这个 for 循环正好迭代一次。
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
i = seconds.at(i) * 60;
seconds.push_back(i);
}
i
设置为60,循环条件i <= 3
则失败
使用不同的变量来保存这个值。
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
auto x = seconds.at(i) * 60;
seconds.push_back(x);
}
或者根本不使用变量。
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
seconds.push_back( seconds.at(i) * 60 );
}
所以基本上我想使用 for 循环将向量乘以 60 从秒到分钟和小时 3 次。我还想在该向量中再添加 3 个值,这些值应该存储一个比它之前的最后一个整数大 60 倍的值。
这就是我到目前为止的想法,但它只打印了 2 次,所以我做错了什么?
#include <iostream>
#include <vector>
int main() {
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
i = seconds.at(i) * 60;
seconds.push_back(i);
}
for (int i = 0; i < seconds.size(); i++) {
std::cout << seconds[i] << std::endl;
}
return 0;
}
这个 for 循环正好迭代一次。
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
i = seconds.at(i) * 60;
seconds.push_back(i);
}
i
设置为60,循环条件i <= 3
则失败
使用不同的变量来保存这个值。
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
auto x = seconds.at(i) * 60;
seconds.push_back(x);
}
或者根本不使用变量。
std::vector <int> seconds = { 1 };
for (int i = 0; i <= 3; i++) {
seconds.push_back( seconds.at(i) * 60 );
}