Prośba o pomoc w napisaniu algorytmu

0

Mam do napisania taki oto algorytm i mam nie mały problem każdą osobę która mi pomoże napisać i wyjaśni co i jak ozłocę :D
Proszę napisać algorytm, który dla tablicy jednowymiarowej o rozmiarze n, wyznacza
punkt podziału tej tablice na dwie podtablice spełniające własność: suma wartości
elementów w lewej podtablicy (od indeksu 0 do indeksu k ) jest równa sumie wartości
elementów prawej podtablicy( tej od indeksu k+1 do n-1). Jeśli istnieje taki podział,
funkcja zwraca punkt podziału (indeks k). W przeciwnym przypadku zwraca –1.
0 1 2 3 4 5 6 7
+p. dla tablicy A={7,-7, 5, 4, 3, 2, 4, 0} takim punktem podziału jest indeks k=3.
Suma wartości elementów lewej podtablicy od indeksu 0 do 3 wynosi 9. Suma
wartości w prawej podtablicy od indeksu 4 do 7 wynosi również 9.

2

Zsumuj całą tablicę, a następnie leć od jednego końca i dodawaj sobie elementy po kolei, odejmując je od całej sumy. Jeśli się kiedyś te liczniki spotkają to wyznaczyłeś punkt podziału, a jeśli sie rozjadą to znaczy że punktu nie ma (pamiętaj że tablica może być cała negatywna, więc przez "rozjadą" rozumiem że zmieni się kierunek nierówności między tymi licznikami!)
To czasem nie jest zadanie z codility? ;]

0

Znalazłem coś takiego ale nie wiem jak to zapisać w postaci algorytmu
Są jakieś zródła które pomogą mi go zapisać w postaci algorytmu ??

int main() {
   const int n = 5;
   int t[] = {1, 1, 1, 1, 2};
   int sum = 0, p = 0, k = n;
   while (p < k)
      if (sum <= 0) sum += t[p++]; else sum -= t[--k];
   if (!sum)
      printf("%d\n", k - 1);
   else
      printf("brak\n");
   return 0;
}
0

Co masz na myśli pisząc „zapisać w postaci algorytmu”?

Algorytm to jest idea, opis jakiejś procedury. Może zostać spisany w najróżniejszy sposób, w tym i w jakimś języku programowania, tak jak np. powyżej w C.

0

A to jest co jak nie algorytm? o_O
No i jest trochę szybszy od tego co pisałem, bo od razu liczy z obu końców, ale przez to może być dla ciebie trudniejszy do zrozumienia.

0

Moj błąd, przepraszam, niedoprecyzowałem, miałem na myśli schemat blokowy tego programu

0

A z czym dokładnie w tym schemacie masz problem? Przecież jest tylko kilka "klocków" i kazdy jasno określa jak sie mapuje do instrukcji języka programowania. Który element sprawia ci trudność?

0

Całość, jestem po prostu zielony

0

No to zalecam siąść do nauki, bo nikt tego za ciebie nie zrobi.

0

to od czego mógłbym zacząć ? polecasz jakieś materiały ?

0

Mistrzostwo świata, jeszcze mu narysujcie diagram bo pewnie myszki nie opanował.

0

https://pl.wikipedia.org/wiki/Schemat_blokowy
http://www.algorytm.org/kurs-algorytmiki/schematy-blokowe.html
ja rysowałem w dia: http://dia-installer.de/

w liceum robiliśmy algorytmy w ELI

tutaj jest link do wersji demo. http://zswp.webd.pl/tlenart/program-eli-2-0/
(ale może są jakieś inne źródła i nie wiem czy stamtąd działa
http://www.wsipnet.pl/dane/pliki/kluby/8/eli-2-1.zip tu chyba trzeba być zarejestrowanym więc nie wiem czy działa link jeszcze)

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