#include<iostream>
#include<filesystem>
#include<string>
using namespace std;
namespace fs = filesystem;
auto listFilesRecursively = [](auto const& dir, string const& mask = {}){
if(!fs::is_directory(dir))
{
cerr << dir << " is not dir";
throw "is not dir!";
}
for(auto const& file : fs::recursive_directory_iterator(dir))
{
if(fs::is_regular_file(file))
{
if(mask.empty() || file.path().extension().string() == mask)
{
// Здесь твоя функция вывода инфы
cout << file.path().string() << " #size: " << file.file_size() << "\n";
}
}
else if(fs::is_directory(file))
{
cout << "\n****** dir ****** [" << file.path().string() << "]\n";
}
else
{
cout << "\n***** other... ******[" << file.path().filename().string() << "]\n";
}
}
};
int main()
{
const string start_dir = R"(C:\Program Files)";
try
{
listFilesRecursively(start_dir, ".dll");
}
catch(exception& e)
{
cerr << e.what();
}
}
Пару часов уже копаюсь в просторах сети и кроме стандартных ничего дельного не нахожу.
Графические и мат
Почему printf не выводит переменные?
printf("%s", "Znachenie", &p);
printf("%s %f", "Znachenie", p);
printf("Znachenie %f", p);
#include <algorithm>
#include <iterator>
#include <iostream>
#include <vector>
using namespace std;
auto fx = [](int x){
int r = 0;
switch(x % 3)
{
case 0:
r = x * x;
break;
case 1:
r = x;
break;
default:
r = x / 3;
break;
}
return r;
};
auto calculate = [](const vector<int>& vx, auto fx){
vector<int> calcValues(vx.size());
transform(vx.begin(), vx.end(), calcValues.begin(), fx);
return calcValues;
};
int main()
{
cout << "Введи кол-во чисел: ";
int n = 0;
cin >> n;
cout << "Введи через пробел " << n << " натуральных чисел:\n" << "$: ";
vector<int> values(n);
copy_n(istream_iterator<int>(cin), n, values.begin());
cout << "Результат твоих расчетов:\n";
copy_n(calculate(values, fx).begin(), n, ostream_iterator<int>(cout, "\n"));
}
Даны натуральные числа
#include<iostream>
#include<filesystem>
#include<string>
using namespace std;
namespace fs = filesystem;
auto getDirectorySize(const fs::path& p)
{
uintmax_t size = 0;
if(fs::is_directory(p))
{
for(const auto& f : fs::directory_iterator(p))
{
size += f.file_size();
}
}
return size;
}
int main()
{
string directory{ "C:\\TEMP" };
fs::path dp{ directory };
auto size{ getDirectorySize(dp) };
cout << "size of " << directory
<< " " << size
<< " bytes" << endl;
}
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
size_t getFileSize(const string& filename)
{
ifstream ifs(filename);
size_t size = 0;
if(ifs)
{
ifs.seekg(0, ios_base::end);
size = ifs.tellg();
}
return size;
}
int main()
{
vector<string> filenames{
"C:\\TEMP\\aaa.txt", "C:\\TEMP\\bbb.txt", "C:\\TEMP\\ccc.txt"
};
size_t size = 0;
for(const string& fn : filenames)
{
size += getFileSize(fn);
}
cout << "Size: " << size << endl;
}
гуглил, что-то не выходит понять
но почему она не возвращает значения сразу , а только в конце? каким образом происходит сравнение?
template<class ForwardIt, class Compare>
ForwardIt min_element(ForwardIt first, ForwardIt last, Compare comp)
{
if (first == last) return last;
ForwardIt smallest = first;
++first;
for (; first != last; ++first) { // не возвращает значения сразу
if (comp(*first, *smallest)) { // каким образом происходит сравнение
smallest = first;
}
}
return smallest; // а только в конце
}
написал код чтобы легче было ориентироваться
#include<cmath>
// ...
int result = *min_element(array.begin(), array.end(), [](int a, int b) { return abs(a) < abs(b); });
// ...
float i, a, x = 0;
float i;
float a;
float x = 0;
Подскажите пожалуйста, где я ошибаюсь..
float y = ((i + x) / (2.5 * i + pow(x, i)) ) + a * pow(sin(x), i + 1);
float y = x / 1;
Во-вторых, 9999 милионная инди-игра не прокатывает в этом году.противоречит
Во-первых, с этого года выпускники должны писать дипломную работу только соответственно специальности