Zadanie c++

0

Treść zadania:

Kazio ma prostokątnych kartek. Z okazji nadchodzącego Dnia Wagarowicza chciałby pomalować je na zielono. Aby kupić odpowiednią ilość farby Kazio musi znać łączną powierzchnię wszystkich kartek. Pomóż Kaziowi obliczyć łączną powierzchnię kartek.

Wejście

W pierwszej linii wejścia znajduje się liczba całkowita oznaczająca liczbę kartek. W każdej z następnych linii wejścia znajdują się dwie oddzielone spacją liczby całkowite , , oznaczające szerokość i wysokość -tej kartki, wyrażone w mikrometrach .

Wyjście

W pierwszym i jedynym wierszu wyjścia należy wypisać łączną powierzchnię wszystkich kartek wyrażoną w mikrometrach kwadratowych.

Przykład

Dla danych wejściowych:

3
7 6
10 10
1 1
poprawną odpowiedzią jest:

143

Kod, który napisałem:
#include<iostream>

using namespace std;

int main(){
int n,s;
cin >> n;
int tab[n];
int sum = 0;

for(int i = 0; i < n; i++){
cin >> tab[n]>>tab[n+1];
s= tab[n]*tab[n+1];
sum += s;
}
cout <<sum;
return 0;
}

Coś pokręciłem... nie wiem gdzie jest błąd.

2
  1. Nie używasz formatowania kodu
  2. Używasz bez sensu postinkrementacji i++ - http://4programmers.net/Forum/1101404
  3. Używasz typu znakowego do ilości kartek oraz do rozmiarów kartek
  4. Używasz coś co potrafi przełknąć nie każdy kompilator: int tab[n];
  5. Używasz indeksów tablicy poza zakresem do zapisu i odczytu: cin>>tab[n]
  6. Używasz tablicy która w tym zadaniu jest absolutnie niepotrzebna
#include <iostream>
using namespace std;

int main()
  {
   unsigned n;   
   unsigned long long sum=0,a,b;
   for(cin>>n;n--;sum+=a*b) cin>>a>>b;
   cout<<sum<<endl;
   return 0;
  }
0

Dziękuję bardzo

1 użytkowników online, w tym zalogowanych: 0, gości: 1