matematykaszkolna.pl
C++ Saris: Potrzebuje sposobu: http://pastebin.com/Mg0Z9H6z Polecenie w pascalu, piszemy w c++, zadanie jest zrobione, ale masakrycznie okreznym sposobem emotka PIerwsze 3 ify są na sumowanie po przekatnych tak \\\ Nastepnie obracam tablice o 90 stopni (powalone) i robie to samo na nowych indeksach (tam sobie zamieniam, jest to chaotyczne troche patrzac z boku) Pytanie jakie założenia zrobic zeby sumowac po przekatnych tak /// i w ktorym miejscu zaczac. Da sięto w ogole zrobic anologicznie do 1 czesci?
1 lut 22:54
Saris: Wiem, że się da ale czy analogicznie da się zamknąć to w 3 ifach. Sumuje 2 razy i/j element ale to nie wazne to wystarczy raz odjac na koncu.
1 lut 22:59
Draghan: "Zakładamy, że zmienna typu tablica jest wypełniona przypadkowymi wartościami. Proszę napisać procedurę, która dla zmiennej typu tablica zwraca współrzędne i, j elementu T[i, j] dla którego suma elementów w "ukośnych rzędach" jest największa." Ma to być element "brzegowy", czy dowolny z tablicy? Jeżeli brzegowy, to pewnie można kombinować, jak w jednej−dwóch pętlach to zamknąć, żonglując indeksami.
1 lut 23:44
Saris: Hehe. Dowolny.
1 lut 23:52
Draghan: Jak Ci jeszcze będzie potrzebne, to mogę jutro (w sensie że dziś, tylko póóóóźniej) nad tym pomyśleć. emotka
2 lut 00:32
Draghan: Hej, powinieneś robić chociaż jakieś komentarze w kodzie. Jak dla mnie to polecenie nadal jest nieprecyzyjne. Jeśli zwrócę element ze środka tablicy, to skąd będzie wiadomo, po której diagonali sumowanie będzie dawało najwyższy wynik? Osobiście rozbiłbym to na 3 moduły, chociaż nie wiem, czy nie wyszłoby więcej zamieszania, niż w Twoim kodzie. 1. Stworzenie tablicy przekątnych (da się to zrobić w jednej iteracji po tablicy wejściowej). 2. Wyliczenie sum w każdej przekątnej (tu najtrudniejszy kawałek, bo trzeba uwzględnić występowanie liczb ujemnych, które rozbijają nam przekątne na mniejsze ciągi). 3. Wybranie maksymalnej wartości z obliczonych sum i wyliczenie współrzędnej z oryginalnej tablicy, na podstawie pozycji w tablicy przekątnych.
2 lut 13:29
Saris: ale to do funkcji podajesz tylko indeksy tablicy i przekatne przechodzace przez ten punkt masz zsumowac. Ich elementy i odjac raz t[i][j], bo go zsumujesz dwa razy chyba, że jakoś zaznaczysz, żeby tylko w jednej przekątnej był sumowany, ale szkoda na to czasu w takim zadaniu. I to będzie jedna funkcja. W innej po prostu lecisz po całej tablicy i szukasz maxa z wartosci która zwroci funkcja sumująca. Mi tylko chodziło czy da się te /// przekątne sumować tak samo łatwo jak te \\\, a właściwie analogicznie porównując tylko I i J i chyba się nie da. Pewnie jest inny sposób, żeby zrobić 4 przypadki−4petle jakos, ale mi chodzi o takie 2 przypadki rozdzielone ifami.
2 lut 23:56
Draghan: Ups, wygasło. Ja zrozumiałem inaczej to polecenie, ładewa.
3 lut 00:00