Informatică, întrebare adresată de diacriss2001, 9 ani în urmă

Buna, am si eu o problema de pe pbinfo:
AM FACUT PROBLEMA SI AM 90 DE PUNCTE! IMI PUTETI SPUNE CE AM GRESIT CA SA OBTIN 100? MULTUMESC!
PROBLEMA:
Se citește n, apoi n numere naturale distincte, reprezentând elementele unui vector.

Cerinţa
Calculaţi indicele imin și indicele imax ai elementului cu valoarea minimă, respectiv cu valoarea maximă, din vectorul dat.

Date de intrare
Programul citește de numărul n, apoi încă n numere naturale, reprezentând elementele vectorului.

Date de ieşire
Programul va afișa pe ecran cele două numere imin şi imax, separate printr-un singur spaţiu.

Restricţii şi precizări
1 ≤ n ≤ 1000
elementele vectorului vor fi mai mici decât 1.000.000 și vor fi indexate de la 1 la n

Exemplu
Intrare

5
8 7 9 2 5
Ieșire

4 3
Explicație
Vectorul conține 5 elemente. Valoarea maxima este 9, cu indicele 3, iar valoarea minimă este 2, cu indicele 4.
CODUL MEU:
#include

using namespace std;
int n,v[1001],imin,imax,pozmin=1,pozmax=1,i;
int main()
{cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
imin=v[i];
imax=v[i-1];

for(i=2;i<=n;i++){
if(imin {imin=v[i];
pozmin=i;
}
if(imax>v[i])
{imax=v[i];
pozmax=i;
}
}

cout << pozmax <<" "<<pozmin<<" "<<return 0;
}


KindaBored: Ce iti spune pe pbinfo ? Raspuns gresit la cele 10 puncte?
diacriss2001: Da
diacriss2001: dar am gasit
diacriss2001: greseala
diacriss2001: trebuia sa pun i-1 si cand am aflt imax=[i-1]
diacriss2001: aflat*

Răspunsuri la întrebare

Răspuns de express
4
Ai aici o sursa de 100p . Succes!
#include <iostream>
#define INF 2147000000
using namespace std;
int v[1005],n,i,minn=INF,maxx=-INF,imin,imax;
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>v[i];
        if(v[i]<minn) minn=v[i],imin=i;
        if(v[i]>maxx) maxx=v[i],imax=i;
    }
    cout<<imin<<" "<<imax;
    return 0;
}

Alte întrebări interesante