重複の可能性:
C++ はファイル内の文字列に一致し、行番号を取得します
私は HW の割り当てを与えられているので、コードの完全なセットを求めているわけではありませんが、私が何をすべきかについてのヒントを求めているのかもしれません。割り当ては次のとおりです。テキスト ファイル babynames2004.txt が含まれます。米国で最も人気のある 1000 の名前のリストが含まれています。これは、ランクが最初にリストされ、その後に対応する男の子の名前と女の子の名前が続く、1000 エントリのスペース区切りのファイルです。最も人気のある名前が最初にリストされ、最も人気のない名前が最後にリストされます。ユーザーが名前を入力できるようにするプログラムを作成します。次に、プログラムはファイルから読み取り、女の子と男の子の間で一致する名前を検索し、この情報を配列に格納する必要があります。一致が見つかった場合は、名前のランクを出力する必要があります。プログラムは、一致がないかどうかも示す必要があります。
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
//function prototypes
void input(int search(const int name[][Max_Girl_Name], int, int, int );
void display(
int main()
{
const int Max_Girl_Name = 1000, Max_Boy_Name = 1000; //array sizes
int name[][Max_Girl_Name], count(0);
ifstream inputfile; //open stored file
inputFile.open("c:/temp/babynames2004.txt")
if (inputFile.fail())
{
cout<<"Error opening File\n";
}
else
{
while(!inputFile.eof())
inputFile>>name[count];
count++
}
input(
searchname = (
display(
inputFile.close();
cout << count " is ranked " << Rank <<
}
system("PAUSE");
return 0;
}
int search(const int name[][Max_Girl_Name], int name_input, int targetname, int size_Dimension_1)
{
for(int i = 0;i<size_Dimension_1;i++)
{
int index = 0;
bool found = false;
while ((!found) && (index < number_used))
if (target == name[index])
found = true
else
index++;
if(found)
return index;
else -1;
}
}
また、いくつかの考えがあります。
- これは多次元配列を使用して解決され
names[boy_name][girl_name]
ますか? - このプログラムの機能は、、、
search(value)
ですか?input(void)
output(void)
- 配列の両方のインデックスをどのように反復処理しますか?
私は十分に明確であることを願っています。