ПРОГРАМИРАЊЕ И ПРОГРАМСКИ ЈАЗИЦИ

  • Креатор на темата Креатор на темата moTaro
  • Време на започнување Време на започнување
Статус
Затворена за нови мислења.
Епа да..ама ако беа како кај горниот пример...Ако се вака на пример неважи тоа
1 0 1 1 1 1 1 1
0 0 1 1 1 1 1 0
1 1 1 1 1 1 0 1
0 0 1 0 0 1 0 1
 
Зошто да не важи ако е така?

Важи секако.... само треба малку да помислиш. Прилично комплицирана е задачата..

(поминување на матрица)
  • (i) Значи имаш еден for циклус кој брои од 1 до n и се движи по х оска
  • (j) имаш втор циклус кој брои од 1 до n и се движи по у оска
(проверка на субматрица)
  • (k) имаш трет циклус кој брои од i додека не најде нула како вредност на елемент и се движи по х оска
  • (m) имаш четврт циклус кој брои од ј додека не најде нула како вредност на елемент и се движи по у оска
и цело време памтиш мин и макс големина на подматрица како и прв елемент (i и j) и колку е големината на таа субматрица (пример 3 полиња)

Треба едно добро седнување и добро мислење
 
Овие матриците многу ми лежат... Да пишуваа 10-ка ке ја решев за 5-10 минути. Ама вака, некако ме мрзи. Седни подумај се малце како оди логиката, читај што инструкции ти дава Димитар и толку. Еднаш ко ке му ја најдиш цаката понатаму лесно е боза :)
 
Што ги замараат децава со апстрактни срања као матрици. Развивање на логички способности, ма дај не зезај. Да, сигурно тоа го прават у САД тоа.

И ја така мислев дека у САД даваат овакви примери, ама коа седнав да читам Sun Microsystems за Java врска немаат со ова. Убави фини примерчиња од секојдневен живот и после тоа сам си правиш можности да донесуваш многу поинтелегентни решенија на задачи него ли овака, да го тупиш паметов со глупости кои у реалност никад нема да ти се најдат коа работиш у некоја фирма ко овие нашиве!
 
Ај програмери да ве замолам за голема помош.

Значи ми треба програма во Ц++ за структура од податоци. Не барам од вас некој да ја напрај од корен (освен ако има желба нормално), зошто програмата е огромна, ама ако на некој шо учел структури од податоци му се наоѓа низ компјутер код ќе ми сврши голема работа ако ми поможи.

Вака сеа објаснението ќе го дам за програмата на англиски, за да се разбериме, оти ако преведвам си ебала мајката.


Write a C++ class that implements all the functions of an ordered dictionary using (2,4) tree.

За да нема забуни клавам линкој шо ги објаснуват зборојте во задачата.

Значи пак ќе кажам, ако некој има нешто слично или пак ако на некој му е предизвик да напрај нешто нека се кажи. Е така, оти немам време ИЧ, презафатен сум со сколија и со работа, а немам ни нерви. За до среда чекам некој да се јави со решение. Фала многу пријатно.
 
Епа да..ама ако беа како кај горниот пример...Ако се вака на пример неважи тоа
1 0 1 1 1 1 1 1
0 0 1 1 1 1 1 0
1 1 1 1 1 1 0 1
0 0 1 0 0 1 0 1

Еве ти тривијално Brute-Force решение во Java. Има некоја цака со овие бинарниве, верувам дека би можело и во помала комплексност да се направи со Dynamic Programming, ама сега баш во 6 саат не ми се мисли. Вака, на перформанси би било crap. Ако треба да работи за огромна сума на податоци и потребна е брзина, кажи ми па белким ќе смислам нешто.

Код:
public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int [][]proben = {{1, 0, 1, 1, 1, 1, 1, 1},
                          {0, 0, 1, 1, 1, 1, 1, 0},
                          {1, 1, 1, 1, 1, 1, 0, 1},
                          {0, 0, 1, 0, 0, 1, 0, 1}};
        System.out.println("Rezultat: " + maxPravoagolnik(proben,4, 8));
    }
    
    static int maxPravoagolnik(int [][]pole, int brRedovi, int brKoloni)
    {
        int broj = 1;
        int mRes = 1;
        for (int i = 0; i < brRedovi; i++) {
            for (int j = 0; j< brKoloni; j++)
            {
                if (pole[i][j]==1)
                {
                    //ideme na proverka
                    //pocetno teme e i,j
                    for (int ii=j+1; ii<brKoloni; ii++)
                    {
                        if (pole[i][ii]==1)
                        {
                            mRes = proveri(pole, i, j, ii, brRedovi);
                            if (mRes>broj) broj = mRes;
                        }
                    }
                }
            }
        }
        return broj;
    }
    
    static int proveri(int [][]pole, int red, int pocKolona, int krajKolona, int brRedovi)
    {
        int redovi = 1;
        boolean ok = true;
        for (int i=red+1; i<brRedovi; i++)
        {
            for (int j=pocKolona; j<=krajKolona; j++)
            {
                if (pole[i][j]==0) ok=false;
            }
            if (ok)
            {
                redovi++;
            }
            else
                break;
        }
        return redovi * (krajKolona-pocKolona+1);
    }

}
На твојот пример излезе точно решение, сепак провери го, може нешто сум изумил.

Зошто да не важи ако е така?

Важи секако.... само треба малку да помислиш. Прилично комплицирана е задачата..

Не би рекол. Ова да го сместам во Dynamic Programming ниво 2 од 5 (грубо речено). Чисто за мера: решавач на судоку што би завршувал максимум за 1 секунда е на ниво 3. Замисли што има до петката. Ова е веќе комплицирано.

Овие матриците многу ми лежат... Да пишуваа 10-ка ке ја решев за 5-10 минути. Ама вака, некако ме мрзи. Седни подумај се малце како оди логиката, читај што инструкции ти дава Димитар и толку. Еднаш ко ке му ја најдиш цаката понатаму лесно е боза :)
:nenene: Познавањето на структурата на матрицата и некои основни и математички операции со неа, воопшто не мора да значи дека партал ќе ги правиш понатака сите задачи со нив. Во крајна мера, повеќето задачи ги користат матриците за складирање, а операциите воопшто не наликуваат на операции со матрици. Во Dynamic Programming moже да работиш со матрици во 5та димензија па и повеќе, така да верувам дека се што е тривијално, овде отпаѓа.

Што ги замараат децава со апстрактни срања као матрици. Развивање на логички способности, ма дај не зезај. Да, сигурно тоа го прават у САД тоа.

И ја така мислев дека у САД даваат овакви примери, ама коа седнав да читам Sun Microsystems за Java врска немаат со ова. Убави фини примерчиња од секојдневен живот и после тоа сам си правиш можности да донесуваш многу поинтелегентни решенија на задачи него ли овака, да го тупиш паметов со глупости кои у реалност никад нема да ти се најдат коа работиш у некоја фирма ко овие нашиве!

Секоја озбилна програмерска куќа се грижи за нервите на своите клиенти, па според тоа во MUST делот на секој проект им е генерирање на најефикасно решение, кое иако не ти се верува, ама многу често се сведува на некое апстрактно како овие. Тоа што денес работиш на оперативен систем кој релативно брзо одговара на твоите барања, идеш на форум кој користи база на податоци со огромна брзина и играш WoW без сецкање, се е резултат на прекрасно изградени апстрактни алгоритми со минимална комплексност и огромна брзина.

Ај програмери да ве замолам за голема помош.

Значи ми треба програма во Ц++ за структура од податоци. Не барам од вас некој да ја напрај од корен (освен ако има желба нормално), зошто програмата е огромна, ама ако на некој шо учел структури од податоци му се наоѓа низ компјутер код ќе ми сврши голема работа ако ми поможи.

Вака сеа објаснението ќе го дам за програмата на англиски, за да се разбериме, оти ако преведвам си ебала мајката.


Write a C++ class that implements all the functions of an ordered dictionary using (2,4) tree.

За да нема забуни клавам линкој шо ги објаснуват зборојте во задачата.

Значи пак ќе кажам, ако некој има нешто слично или пак ако на некој му е предизвик да напрај нешто нека се кажи. Е така, оти немам време ИЧ, презафатен сум со сколија и со работа, а немам ни нерви. За до среда чекам некој да се јави со решение. Фала многу пријатно.

Ем бараш помош, ем те мрзи да објаснуваш. Ауф, ептен си ја наредил. Епа мене сега ме мрзи да ги следам линковите и да преведувам. :smir:
Ај конкретизирај го проблемот, кажи како да бидат складирани податоците (во меморија или на диск), побарувањето од функциите и структурата на дрвото, па ќе видам што можам.
 
Ем бараш помош, ем те мрзи да објаснуваш. Ауф, ептен си ја наредил. Епа мене сега ме мрзи да ги следам линковите и да преведувам. :smir:
Ај конкретизирај го проблемот, кажи како да бидат складирани податоците (во меморија или на диск), побарувањето од функциите и структурата на дрвото, па ќе видам што можам.

Не ме мрзи да објаснувам, туку нејќам да стани недоразбирање. Не можам да преведам на македонски, оти некој ќе си помисли дека станува збор за речник со зборој.

Значи се работи за „речник“ како структура од податоци имплементирана со бинарно „дрво“. Шо значи ова?

Речник е структура за складирање на податоци која складира објекти кои се состојат од податоците кои ги содржи објектот, значи некои вредности и еден „клуч“ односно бројче кое претставува покажувач со кој може да се повика тој елемент, односно да се бара низ „речникот“. Во речникот 2 или повеќе елементи може да имаат ист „клуч“.

Пример практичен за да се разбери подобро. Складираме објекти од класа Корисник (земаме предвид дека постои таква класа) и во речникот ги подредуваме по телефонски број. Значи се користи некаков код кој ќе го обработи телефонскиот број, најдобро е (Hash) кодот да е модул (остаток) од делење со 100. Шо значи дека во речникот објектите ќе се складираат според последните 2 бројки од телефонскиот број.

Шо се однесува до другите прашања. Не треба да се снимаат податоците на диск, само во меморија треба. Класата треба да содржи функции за внесување на елемент, бришење и пребарување. Дрвото е бинарно, значи секој „ноуд“ има по 2 „деца“. На македонски појма немам како да објаснам, незнам дали постои некој превод.

Значи програмата е голема како шо кажав и зато и не објаснував многу, за да прочитат сите. Ако некој работел со структури од податоци сигурно праел нешто слично. Фала, пријатно.
 

Не ме мрзи да објаснувам, туку нејќам да стани недоразбирање. Не можам да преведам на македонски, оти некој ќе си помисли дека станува збор за речник со зборој.

Значи се работи за „речник“ како структура од податоци имплементирана со бинарно „дрво“. Шо значи ова?

Речник е структура за складирање на податоци која складира објекти кои се состојат од податоците кои ги содржи објектот, значи некои вредности и еден „клуч“ односно бројче кое претставува покажувач со кој може да се повика тој елемент, односно да се бара низ „речникот“. Во речникот 2 или повеќе елементи може да имаат ист „клуч“.

Пример практичен за да се разбери подобро. Складираме објекти од класа Корисник (земаме предвид дека постои таква класа) и во речникот ги подредуваме по телефонски број. Значи се користи некаков код кој ќе го обработи телефонскиот број, најдобро е (Hash) кодот да е модул (остаток) од делење со 100. Шо значи дека во речникот објектите ќе се складираат според последните 2 бројки од телефонскиот број.

Шо се однесува до другите прашања. Не треба да се снимаат податоците на диск, само во меморија треба. Класата треба да содржи функции за внесување на елемент, бришење и пребарување. Дрвото е бинарно, значи секој „ноуд“ има по 2 „деца“. На македонски појма немам како да објаснам, незнам дали постои некој превод.

Значи програмата е голема како шо кажав и зато и не објаснував многу, за да прочитат сите. Ако некој работел со структури од податоци сигурно праел нешто слично. Фала, пријатно.

Знам што е Dictionary, сепак фала на објаснувањето.
Според ова, проблемот на тебе е да имплементираш multimap (речник со дупликат клучеви) со помош на бинарно лексикографско дрво.
Што тип на податок се клучевите а што вредностите? Да не треба да биде имплементацијата како шаблон?
Дали може да ја користам string класата и дали треба дрвото да е стално балансирано или не? Колкави се побарувањата на перформанси?
Ако излезат последните две на лошата варијанта, се откажувам уште од сега, ако не ваљда ке направиме нешто.
 
Знам што е Dictionary, сепак фала на објаснувањето.
Според ова, проблемот на тебе е да имплементираш multimap (речник со дупликат клучеви) со помош на бинарно лексикографско дрво.
Што тип на податок се клучевите а што вредностите? Да не треба да биде имплементацијата како шаблон?
Дали може да ја користам string класата и дали треба дрвото да е стално балансирано или не? Колкави се побарувањата на перформанси?
Ако излезат последните две на лошата варијанта, се откажувам уште од сега, ако не ваљда ке направиме нешто.

Вака сеа.

Нема посебно побарување за класата, може да се користи и интеџер и стринг без разлика, не мора да е мултифункционална. Ама сепак ако ја направиш еднаш со стринг да речиме, многу лесно потоа од тој концепт се генерализира. Без разлика, не е задолжително да се употребува со сите класи речникот.

Шо се однесува до перформансите, самата имплементација ги налага. Нема простор за намалување или подобрување на истите ако се користи побараната имплементација. Значи речникот треба да е подреден имплементиран со бинарно дрво, шо значи дека пребарувањето по него ќе биде O(log n) шо значи брзо пребарува, внесувањето и бришењето на податоците ќе биде O(n), значи бавно пошто ги подредува при самото внесување.


Значи ако имаш некаква идеја и најважно ако имаш време и желба, направи то шо имаш замислено. Ќе ти бидам многу благодарен за помошта.
 

Вака сеа.

Нема посебно побарување за класата, може да се користи и интеџер и стринг без разлика, не мора да е мултифункционална. Ама сепак ако ја направиш еднаш со стринг да речиме, многу лесно потоа од тој концепт се генерализира. Без разлика, не е задолжително да се употребува со сите класи речникот.

Шо се однесува до перформансите, самата имплементација ги налага. Нема простор за намалување или подобрување на истите ако се користи побараната имплементација. Значи речникот треба да е подреден имплементиран со бинарно дрво, шо значи дека пребарувањето по него ќе биде O(log n) шо значи брзо пребарува, внесувањето и бришењето на податоците ќе биде O(n), значи бавно пошто ги подредува при самото внесување.


Значи ако имаш некаква идеја и најважно ако имаш време и желба, направи то шо имаш замислено. Ќе ти бидам многу благодарен за помошта.
Ова ја тупи работата. Би ми бил потребен еден ден за да го направам, ама имам колоквиум во среда, така да до твојот рок, го немам потребното време.
 
Ова ја тупи работата. Би ми бил потребен еден ден за да го направам, ама имам колоквиум во среда, така да до твојот рок, го немам потребното време.

Абе уживај, јас прашав да не случајно некој има нешто готово. Пошто јас си ги чувам кодојте да се најдат. Знам дека треба еден ден, зато и јас не сум седнал да го напрам, ама изгледа ќе мора.

Имам и други обврски на сколија 3 тестој и усен испит ова недела, а и на работа сум по цел ден. И пак ќе речам ако има некој вакво нешто нека се кажи.

Е така.

ЕДИТ: Најдов по интернети темплејти за дрва и ја склопив некако програмата. Не можам да ја постирам овде од проста причина шо е 1300 реда хехехе. Е така, значи ако некој сака да види шо се бара и како изгледа можи да му ја пуштам. Ако треба нешто пишете слободно, за Ц++ ќе поможам за нешто вака ко за на сколија.
 
Вака.. Имам 14 години.. Сакам да идам на курс за програмирање и програмски јазици. Целта ми беше некој да ми објасни што треба да знам, колку време ќе учам и ако може да ми кажете каде да учам... Фала однапред:)
 
Вака.. Имам 14 години.. Сакам да идам на курс за програмирање и програмски јазици. Целта ми беше некој да ми објасни што треба да знам, колку време ќе учам и ако може да ми кажете каде да учам... Фала однапред:)

Ако сакаш некогаш да бидиш програмер, почни или со Ц++ или евентуално со Паскал. Не ти препорачвам Вижуал Бејзик, пошто многу погрешно ќе го разбериш програмирањето. А каде незнам да ти кажам.
 
Eve vaka jas imam 12 godini i sakam da odam na kurs za programirajne i sakam od nesto da po4nam prvo doma a neznam ni sto e C++ ni Paskal:kesa:ili pa mal sum za ovie raboti:D
 
MOZE LI DA MI KAZETE LINK PO PP OD KADE MOZAM DA GO DOWNLOADRIAM Java 2 Standard Edition SDK v 1.4.1??????
 
Статус
Затворена за нови мислења.

Kajgana Shop

Back
На врв Bottom