#include<iostream>
#include<fstream>
#include<limits>
#include<vector>
#include<iterator>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
const string filein = "D:\\numbers_in.txt";
const string fileout = "D:\\numbers_out.txt";
vector<double> v;
ios_base::sync_with_stdio(false);
if(ifstream ifs(filein); ifs)
{
transform(istream_iterator<string>{ifs}, {}, back_inserter(v), [](const auto& xs){
double d = numeric_limits<double>::infinity();
try
{
d = stod(xs);
}
catch(...)
{
cout << "wrong\n";
}
return d;
});
}
copy(v.begin(), v.end(), ostream_iterator<double>{cout, " "});
if(ofstream ofs(fileout); ofs)
{
copy(v.begin(), v.end(), ostream_iterator<double>{ofs, " "});
}
cin.get();
}
-1.0 3.0e5 inf 23.01 55.003
-1 300000 inf 23.01 55.003
-1.0 3.0e5 inf
5.0 inf 0.008
1.45 3.99 -5.25
#include<iostream>
#include<fstream>
#include<limits>
#include<vector>
#include<iterator>
#include<algorithm>
#include<string>
#include<sstream>
using namespace std;
auto parse_line = [](istream& is)
{
vector<double> row;
transform(istream_iterator<string>{is}, {}, back_inserter(row), [](const auto& xs){
double d = numeric_limits<double>::infinity();
try
{
d = stod(xs);
}
catch(...)
{
cout << "wrong\n";
}
return d;
});
return row;
};
int main()
{
const string filein = "D:\\numbers_in.txt";
const string fileout = "D:\\numbers_out.txt";
vector<vector<double>> matrix;
ios_base::sync_with_stdio(false);
if(ifstream ifs(filein); ifs)
{
string line;
while(getline(ifs, line))
{
istringstream is{ line };
matrix.push_back(parse_line(is));
}
}
for(const auto& v : matrix)
{
copy(v.begin(), v.end(), ostream_iterator<double>{cout, " "});
cout << "\n";
}
if(ofstream ofs(fileout); ofs)
{
for(const auto& v : matrix)
{
copy(v.begin(), v.end(), ostream_iterator<double>{ofs, " "});
ofs << "\n";
}
}
cin.get();
}
А нужно написать бесконечность потому что потом буду искать минимальный элемент среди этих элементов и чтобы этот минус не мешал поиск.
using Matrix = vector<vector<double>>;
auto find_min = [](const Matrix& m)
{
vector<double> values;
for(const auto& row : m)
{
values.push_back(*min_element(row.begin(), row.end()));
}
return *min_element(values.begin(), values.end());
};
// ...
cout << "Min element: " << find_min(matrix) << endl;
Min element: -5.25
>>> def a():
... print(True)
...
>>> def b(func):
... funcs = {'a': a()}
... funcs[func]
...
>>> b('a')
True
>>>
y = 1 / (e^x + 1)
y = 50 / (ℯ^(5 - x / 8) + 1)
// Это "интерфейс", который представляет собой набор операций, которые можно произвести над объектом
// В данном случае, по объекту можно постучать
class IKnockable {
public:
virtual ~IKnockable() = 0;
// Само по себе действие: "постучать"
virtual void knock() const = 0;
};
// Реализация интерфейса классом Door
class Door : public IKnockable {
public:
// ...
void knock() const override { std::cout << "door" << std::endl; }
// ...
};
// Реализация интерфейса классом Window
class Window : public IKnockable {
public:
// ...
void knock() const override { std::cout << "window" << std::endl; }
// ...
};
// ...
// Какая-то функция, которая может постучать по каждому объекту из списка,
// не имея представления о том, что же это за объект
void knock(const std::vector<std::shared_ptr<IKnockable>> &knockableObjects) {
for (auto &&knockableObject : knockableObjects) {
knockableObject->knock();
}
}
// ...
std::vector<std::shared_ptr<IKnockable>> v = {std::make_shared<Door>(), std::make_shared<Window>()};
knock(v); // Сначала напечатает "door", потом напечатает "window"
Я создал класс объектов, (например теплообменник) он имеет свойства на основании которых производится расчёт (например КПД) . И свойства на основании которых происходит отрисовака ( например положение при отображение (коардинаты x, y)) не уверен, что я сделал корректно.
quest_id: int = -1
означает, что аргумент quest_id
принимает значения только типа int
-> list
означает, что функция возвращает список. this.conut = this.conut - count;
this.count = this.count - count;
" vec3 specular = specularStrength * spec * lightColor;\n"
" vec3 result = (ambient + diffuse + specular) * objectColor;\n"
" FragColor = vec4(objectColor * lightColor, 1.0);\n"
я знаю, пыль на микросхеме опасна... а вообще то там сдох старенький жесткий диск