-1
#include<iostream.h>
#include<fstream.h>
ifstream f("date.in");
using namespace std;
int i;
int P(int a[100],int k,int max)
{
    max=a[1];
    for(i=2;i<=k;i++)
            if(a[i]>max)
               max=a[i];
    return max;
}
int main()
{
    int x,a[100],n;
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
    for(i=2;i<=n;i++)
        a[i]=P(a,i,x);
    for(i=1;i<=n;i++)
        cout<<a[i]<<" ";
}

私の「date.in」ファイルは次のもので構成されています:

12

4 6 3 7 8 1 6 2 7 9 10 8

タイトルが示すように、プログラムはファイル内から配列を変更して、各数値がそのそれぞれの数値の位置までの配列で見つかった最大値を持つようにする必要があります。私はそれを100回経験しましたが、コードの何が問題なのかわかりません。

コンパイルすると、次のようになります。

4 6 3 7 8 8 6 8 7 9 10 10

任意の支援をいただければ幸いです。

4

1 に答える 1