Minimum of a .txt with C++
Minimum of a .txt with C++
我是C++的真正新手,想问一个编码问题,
我想创建一个从文本文件中读取数据的C++代码,对于每 K 行,它必须找到数组的最小值并将其报告给单独的文本文件。例如,如果我有 1000 行并且 K 是 10,它必须寻找第一个 100 值并报告最小值,第二个 100 设置并报告第二个最小值,然后继续......
我已经写了一个代码,但它不起作用,
任何帮助将不胜感激,
ifstream fin;
fin.open ("High.txt");
if ( !fin ) exit( 1 );
double **a = new double *[N];
for ( int i = 0; i < K; i++ )
{
a[i] = new double[N];
}
for ( int i = 0; i < K; i++ )
{
for ( int j = 0; j < N; j++ )
{
fin >> a[i][j];
}
}
double mx[N], mn[N];
int i,j,k;
for ( i =0; i<N ; i++){
mn[i] = a[0][i];
mx[i] = a[0][i];
for ( j = 1; j<K; j++){
if (mx[i] < a[j][i])
{mx[i] = a[j][i];}
if (a[j][i] < mn[i])
{mn[i] = a[j][i];}
}
}
ofstream ts("Max.txt", ios::app);
for ( i =0; i<N ; i++){
ts<<mx[i]<<endl;
}
ts.close();
}
您可以使用
std::min_element
来获取最小值:
#include <algorithm>
#include <iostream>
#include <fstream>
#include <vector>
int main()
{
std::ifstream infile("data.txt");
std::ofstream outfile("min_values.txt");
const int K = 10;
std::vector<double> numbers;
double d;
while(infile >> d)
{
numbers.push_back(d);
}
int full_parts = numbers.size() / K;
for (int i = 0; i < full_parts; i++)
{
double min = *std::min_element(numbers.begin() + i * K, numbers.begin() + i * K + K);
outfile << min << std::endl;
}
if (numbers.size() % K != 0)
{
double min = *std::min_element(numbers.begin() + full_parts * K, numbers.end());
outfile << min << std::endl;
}
}
#include<bits/stdc++.h>
using namespace std;
int main(){
ifstream fin;
ofstream fout;
int i=0,z,K=100,N=1000,x,j;
fout.open("High.txt");
//Generate 1000 positive random numbers below 1000 and print ino High.txt
for(i=0;i<1000;i++){
fout<<abs(random())%1000;
}
fout.close();
fin.open ("High.txt");
fout.open("out.txt");
if (!fin ) exit( 1 );
while(i<(N/K)){
z = 1000;
for(j=0;j<K;j++){ //Reading K line
fin>>x;
z = min(x,z);
}
fout<<z<<"n";
i++;
}
fout.close();
fin.close();
fin.open("out.txt");
//Print result
while(!fin.eof()){
fin>>x;
cout<<x<<"n";
}
}
生成并打印具有随机数的相同代码High.txt
打印正确的输出。我们在打开文件时会出错。
相关文章:
- Problems with std::cin.fail()
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 这对"With a stackless coroutine, only the top-level routine may be suspended."意味着什么
- Boost.TEST with CLion: "Test framework quit unexpectedly"
- 避免碎片化的ClientHellos with OpenSSL (DTLS)
- Issues with Win32 ReadProcessMemory API
- Qt with WinAPI MouseProc
- [[maybe_unused]] with structured_binding?
- Issue with WriteProcessMemory
- OpenCV RTP-Stream with FFMPEG
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- std::adjacent_difference with std::chrono time_point
- DLL Made with CMake 使程序崩溃
- QtCreator with C 库中的链接器问题
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- specialized std::default_delete with QQmlComponent
- VS2019 - Sudo Remote Debugging on Linux with Cmake project
- Inference pytorch C++ with alexnet and cv::imread image
- Pybind11: init<> with lambda
- Incomings Call with Android Sip stack in Embarcadero C++ bui