Informatică, întrebare adresată de ciprian74, 8 ani în urmă

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 de Apollyon
2

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;

}


Apollyon: e de preferat sincer să folosești niște nume de variabile mai explicite decât a, b, k, l ș.a.m.d. că altul care se uită peste cod o să aibă niște dificultăți în a-l înțelege din prima.
ciprian74: Multumesc!
ciprian74: Mai ma poti ajuta la inca o problema te rog?
ciprian74: Am postat-o ca intrebare pe contul meu!
Alte întrebări interesante