Salut! Va rog mult sa ma ajutati si pe mine cu niste explicatii la fiecare linie de cod c++, la problema #1860 de pe pbinfo.
Am sa atasez codul aici: Momentan am facut problema fara fisiere.
#include
using namespace std;
int main()
{
int n,i,a[11],b[11],k=0,p,maxi=-1;
cin>>n;
for(i=1; i<=n; i++)
cin>>a[i];
for(i=1; i<=n; i++)
cin>>b[i];
for(i=1; i<=n; i++)
{
p=(a[i]-b[i])*100/a[i];
if(p>maxi)
{
maxi=p;
k=i;
}
}
cout <
return 0;
}
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int
main()
{
int n, i, a[11], b[11], k = 0, p, maxi = -1;
/* citim numărul de produse */
cin >> n;
/* în primul vector adăugăm cele n prețuri inițiale (înainte de ieftinire) */
for (i = 1; i <= n; i++) {
cin >> a[i];
}
/* în al doilea vector adăugăm cele n prețuri după ieftinire */
for (i = 1; i <= n; i++) {
cin >> b[i];
}
/* acum calculăm procentele */
for (i = 1; i <= n; i++) {
/* prețul curent (înainte de ieftinire) - prețul după ieftinire * 100 / prețul inițial */
/* (8 - 4) * 100 / 8 = 4 * 100 / 8 = 400 / 8 = 50% (s-a ieftinit cu 50%) */
/* la fel și pentru restul */
p = (a[i] - b[i]) * 100 / a[i];
/* verificăm dacă procentul calculat este mai mare decât maximul actual */
if (p > maxi) {
/* și dacă e adevărat actualizăm maximul la procentul curent și salvăm poziția prețului cu cea mai mare ieftinire */
maxi = p;
k = i;
}
}
/* la final afișăm poziția prețului cu cel mai mare procent de ieftinire */
cout << k << "\n";
return 0;
}