Sumy pomoc tablice

0

Mamy dany ciąg n liczb całkowitych l1, l2, . . . , ln. Chcielibyśmy wyliczyć dla każdego elementu, sumę wszystkich innych liczb. Dokładniej, dla i-tego elementu, chcielibyśmy znać sumę l1 + l2 + . . . li−1 + li+1 + . . . , ln.

Wejście
Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą n (1 ≤ n ≤ 400 000), oznaczającą ilość liczb. Kolejny wiersz zawiera n liczb całkowitych l1, l2, . . . , ln (1 ≤ li ≤ 103), gdzie li oznacza wartość i-tej liczby.

Wyjście
Wyjście powinno zawierać n liczb całkowitych będących wyliczonymi sumami dla każdego z elementów. Przykład

Dla danych wejściowych:

4
1 2 3 4

poprawnym wynikiem jest:

9 8 7 6

0

Czego tutaj brakuje bo nie przechodzi ktoś wie ?
#include <iostream>

using namespace std;

int main()
{
int n,suma=0;
cin>>n;
int a[n];
for (int i=0;i<n;i++){
scanf ("%d",&a[i]);
suma = suma + a[i];
}
for (int i=0;i<n;i++){
printf("%d",suma-a[i]);
printf ("%s", " ");
}

}

0

Fajnie by było gdybyś napisał w czym problem. Niestety szklana kula mi się zepsuła i ciężko mi bez tego.

Nie kompiluje się ponieważ to nie jest poprawny kod C++:

int a[n];

Wielkość tablicy musi być znana w czasie kompilacji.

Ponadto nie powinieneś mieszać operacji na wejściach/wyjściach za pomocą potoków i funkcji C.

1

Rozmiar tablicy musi być znany kompilatorowi. Jeśli deklarujesz bilbioteke iostream to używaj cin/cout, jeśli chcesz scanf/printf to deklaruj stdio.h. To się nawet nie powinno kompilować ;P

@kq szybkiś :P

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