- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
作业要求使用 3 个输入文件和 3 个输出文件,但现在我只尝试一个。该程序应该包含一个函数模板,该模板按升序对值数组进行排序。该函数将接收一个无序数组并返回一个有序数组。该函数不应执行任何输入或输出。
我的代码如下:
#include <iostream>
#include <iostream>
#include <fstream>
using namespace std;
ifstream inNumbers("intTestRead.txt");
ofstream outNumbers("intTestWrite.txt");
template<typename int[], typename int> void SelectionSort(int[], int);
void SelectionSort(int v[], int n)
{
int iMin;
for (int i = 0; i < n - 1; i++)
{
iMin = i;
for (int j = i + 1; j < n; j++)
{
if (v[j] < v[iMin])
{
iMin = j;
}
}
int aux = v[i];
v[i] = v[iMin];
v[iMin] = aux;
}
}
void main()
{
int data[100];
int i;
int length = 0;
if (!inNumbers)
cerr << "intTestRead.txt file could not be opened" << endl;
for (i = 0; i < 100 && inNumbers; ++i)
{
inNumbers >> data[i];
if (inNumbers)
{
length += 1;
}
SelectionSort(data, length);
outNumbers << data[i] << endl;
}
}
我主要使用 Java 编程,现在刚开始使用 C++ 时,我对模板之类的东西感到困惑。排序功能是教授给我们的。我的阅读文件如下所示:
65 40 84 9 79 90 71 93 39 44
它应该是这样的:
9 39 40 44 65 71 79 84 90 93
但是看起来是这样的:
65
65
84
84
84
90
90
93
93
93
-858993460
^^ 我知道是因为我在新行中使用了 endl 结果,但是相同数字的多次递归 + -85 让我失望了。任何帮助将不胜感激。
最佳答案
不要在每次输入后调用排序函数。只需在所有输入准备就绪时调用它即可。
类似于:
void main()
{
int data[100];
int i;
int length = 0;
if (!inNumbers)
cerr << "intTestRead.txt file could not be opened" << endl;
for (i = 0; i < 100 && inNumbers; ++i)
{
inNumbers >> data[i];
if (inNumbers)
{
length += 1;
}
}
SelectionSort(data, length);
for (i = 0; i < length; ++i)
{
outNumbers << data[i] << endl;
}
}
关于C++ 输入输出排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32464704/
我收到了一个充满详细信息的文件,必须将其提取并根据其各自的列存储到不同的对象数组中。棘手的是,并非所有线路都具有相同数量的数据。我可以读取文件,可以拆分它以及所有内容。 20005,Arsenal,M
本题与问题相关:如何检测intent(in)的违规子程序里面。但是我在相关问题Enforce intent(in) declared variables in Fortran as constant
我正在尝试用 Java 设计一个海里计算器。 我能够通过控制台创建和运行它,但我在学习如何在 JFrames 中执行它时遇到了麻烦。 我基本上想做的是: 有两个文本字段和一个按钮,一个文本字段英里,一
我有一个 Excel 文件,其中显示了一个表格,用户可以在其中更改字段的值。当此值更改时,另一个字段的值会自动更改,因为它具有以下公式: row 26 =IF(DWTDwt:
我已经成功地从 2 个文件中提取数据并将它们存储在各自类的数组对象中。这是我存储在数组对象中的一些数据: 2005,Arsenal,ManU,Arsenal,WestHam,Y,2,3,40000 2
谁能告诉我这段代码有什么问题?我总是打不开。 #include #include using namespace std; int main(){ fstream fs; fs.o
golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf 定义示例类型和变量 ?
我正在编写一个脚本,它将一个 UTF-16 编码的文本文件作为输入并输出一个 UTF-16 编码的文本文件。 use open "encoding(UTF-16)"; open INPUT, " in
我刚刚开始学习 Java,我想克服在尝试为这个“问题”创建 Java 程序时出现的障碍。这是我必须创建一个程序来解决的问题: Tandy 喜欢分发糖果,但只有 n 颗糖果。对于她给第 i 个糖果的人,
代码在一台服务器上运行,但在另一台服务器上运行不正常。尝试使用 jquery uploadify 上传大小约为 1 MB 的文件时出现此错误。 IO: Error #2038 尝试在 php.ini
认识文件 平时说的文件一般都是指存储在硬盘上的普通文件。 形如:txt文本、jpg图片、mp4视频、rar压缩包等这些文件都可以认为是普通文件。 它们都是在硬盘上存储的。 但是站在计算机专业术语的角度
是否可以同时使用 C++ 应用程序和 Java 应用程序读取和写入同一个文本文件,而不会向其中写入冲突的行/字符?我现在已经用两个 java 应用程序进行了测试,似乎可以从一个进程写入文件,即使另一个
我是一名优秀的程序员,十分优秀!