#include<iostream.h>
#include<fstream.h>
ifstream f("Bac.txt");
using namespace std;
int main()
{
int n,m,i,j,ok,nr=0;
long v[100],p[100];
f>>m;
f>>n;
for(i=1;i<=m;i++)
f>>p[i];
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
{
ok=0;
for(j=1;j<=m;j++)
{
if(v[i]==p[j])
ok=1;
}
if(ok==0)
nr++;
}
cout<<nr;
}
「Bac.txt」ファイルには以下が含まれます。
6 7
1 2 3 4 7 20
3 5 7 8 9 20 24
私が作成したこのプログラムは、ファイル内から読み取った 2 つの配列の値を比較し、最初の配列と比較したときに 2 番目の配列に固有の値の数を表示します。
私が使用している方法は、ある程度効率的な「実行時間」ですか? ファイルの2行目と3行目の数列を配列に格納しない方が効率的でしょうか、それともプログラムに同じことをさせることさえ可能ですか? (または、ストレージメモリの観点から効率化するだけで、実行時間の面では効率的ではありませんか?)