{"id":8143,"date":"2023-02-11T21:39:32","date_gmt":"2023-02-11T19:39:32","guid":{"rendered":"https:\/\/blue.pri.ee\/ttu\/?p=8143"},"modified":"2026-02-16T09:47:21","modified_gmt":"2026-02-16T07:47:21","slug":"pr2et3-struktuurid","status":"publish","type":"post","link":"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/","title":{"rendered":"PR2ET3: Struktuurid"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Praktikumi_materjal\" >Praktikumi materjal<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Praktikumi_ulesanded\" >Praktikumi \u00fclesanded<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Ulesanne_W03-1_Tootajate_otsing\" >\u00dclesanne [W03-1]: T\u00f6\u00f6tajate otsing<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Andmefail\" >Andmefail<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Nouded\" >N\u00f5uded<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Vihjed\" >Vihjed<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Programmi_naidisvaljund\" >Programmi n\u00e4idisv\u00e4ljund<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Lisaulesanne_2_W03-3_Mugavam_otsing\" >Lisa\u00fclesanne 2 [W03-3]:\u00a0 Mugavam otsing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Lisaulesanne_3_W03-4_Toodeldud_isikukood\" >Lisa\u00fclesanne 3 [W03-4]: T\u00f6\u00f6deldud isikukood<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Parast_seda_tundi_peaksid\" >P\u00e4rast seda tundi peaksid<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/#Taiendav_materjal\" >T\u00e4iendav materjal<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Praktikumi_materjal\"><\/span>Praktikumi materjal<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Slaidid: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-et\/03_struktuurid.pdf\"><strong>Struktuurid<\/strong><\/a><\/li>\n<li>T\u00e4iendav koodin\u00e4idis: <strong><a href=\"https:\/\/blue.pri.ee\/ttu\/programmeerimine-ii\/koodinaited\/struktuuride-massiivi-naide\/\">Struktuurimassiivi n\u00e4ide<\/a><\/strong><\/li>\n<\/ul>\n<p>Praktikumis lahendatakse kommenteeritult koos l\u00e4bi failist struktuuridesse lugemise n\u00e4ide. Neile, kes praktikumis ei osalenud, on see avaldatud koodin\u00e4itena: <strong><a href=\"https:\/\/blue.pri.ee\/ttu\/programmeerimine-ii\/koodinaited\/failist-struktuurimassiivi-lugemise-naide\/\">Failist struktuurimassiivi lugemise n\u00e4ide<\/a><\/strong><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Praktikumi_ulesanded\"><\/span>Praktikumi \u00fclesanded<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Selles praktikumis on \u00fcks \u00fclesanne, mida laiendab kolm lisa\u00fclesannet.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ulesanne_W03-1_Tootajate_otsing\"><\/span>\u00dclesanne [W03-1]: T\u00f6\u00f6tajate otsing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u00dclesande eesm\u00e4rgiks on \u00f5ppida struktuure kasutama. \u00dclesanne ise matkib t\u00f6\u00f6tajate andmebaasi, kust on v\u00f5imalik filtreerida t\u00f6\u00f6tajate andmeid vastavalt etteantud otsinguparameetrile.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Andmefail\"><\/span>Andmefail<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Lae alla testandmed j\u00e4rgnevalt lingilt: <strong><a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/andmefailid\/3_data_short.zip\">https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/andmefailid\/3_data_short.zip<\/a><\/strong><\/p>\n<p>Andmefail koosneb juhugeneraatoriga loodud andmetest.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Nouded\"><\/span>N\u00f5uded<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Loe failist ettev\u00f5tte t\u00f6\u00f6tajate andmed\n<ul>\n<li>Korduv faili lugemine programmi sees ei ole lubatud.<\/li>\n<li>Failis on iga rea kohta \u00fcks kirje<\/li>\n<li>Iga andmev\u00e4li on eraldatud t\u00fchikuga. Andmev\u00e4ljad on \u00fches\u00f5nalised.<\/li>\n<li>Andmete struktuur failis<br \/>\n<span class=\"lang:default highlight:0 decode:true crayon-inline\">&lt;eID&gt; &lt;first_name&gt; &lt;last_name&gt; &lt;city&gt;<\/span><\/li>\n<\/ul>\n<\/li>\n<li>Programmis tuleb andmeid hoida struktuuridest koosnevas massiivis.<\/li>\n<li>Programm peab t\u00f6\u00f6tama olukorras, kus andmete t\u00e4pne arv pole teada ning see v\u00f5ib ajas muutuda (n\u00e4iteks v\u00e4rvatakse uus t\u00f6\u00f6taja, senine t\u00f6\u00f6taja lahkub).\n<ul>\n<li>Loo programmile m\u00f5istlik limiit ning veendu, et sellest \u00fcle ei mindaks!<\/li>\n<li>Kui andmefailis on rohkem andmeid kui mahub, v\u00e4ljasta vastav hoiatus.<\/li>\n<\/ul>\n<\/li>\n<li>Programm peab lubama k\u00e4skude ja otsingute korduvat tegemist ilma taask\u00e4ivitamata<\/li>\n<li>Luba programmi kasutajal teostada otsingut linna nime j\u00e4rgi\n<ul>\n<li>Programm v\u00e4ljastab k\u00f5ik t\u00f6\u00f6tajad, kes sisestatud linnas elavad<\/li>\n<li>N\u00e4ita mitu vastet mitmest leiti (nt [0 \/ 91])<\/li>\n<li>Otsingut peab saama sooritada korduvalt ilma programmist v\u00e4ljumata<\/li>\n<li>Baas\u00fclesandes v\u00e4ljasta k\u00f5ik andmed &#8211; isikukood, perenimi, eesnimi, linn<\/li>\n<\/ul>\n<\/li>\n<li>Programm peab toetama k\u00e4skude t\u00f6\u00f6tlemist\n<ul>\n<li>K\u00e4sud algavad kooloniga &#8211; sedasi tuleb eristada kas sisestati k\u00e4sk v\u00f5i otsis\u00f5na<\/li>\n<li>K\u00e4suga &#8220;:all&#8221; v\u00e4ljastatakse k\u00f5igi isikute loetelu<\/li>\n<li>K\u00e4suga &#8220;:exit&#8221; sulgetakse programm<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"Vihjed\"><\/span>Vihjed<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>K\u00e4skude t\u00f6\u00f6tlemine v\u00f5ib k\u00f5lada hirmutavalt, kuid tegelikult on lahendus v\u00e4ga primitiivne. K\u00f5ike seda \u00f5ppisid juba Programmeerimine 1 s\u00f5nede tunnis. Kokku on vaja teha 3 sammu:<\/p>\n<ol>\n<li>Tuvasta, kas kasutaja sisestas k\u00e4su &#8211; kontrolli kas 0-nda indeksi peal on kooloni s\u00fcmbol. See oli ka \u00fcks n\u00e4idetest s\u00fcgisel.<\/li>\n<li>Loo viit, mis n\u00e4itab teise t\u00e4hem\u00e4rgi aadressile (<span class=\"lang:c decode:true crayon-inline\">char *command = input + 1;<\/span> ) &#8211; see on viidaaritmeetika esimesest n\u00e4dalast, mida kasutasid ka eelmine n\u00e4dal faili laiendi asukoha m\u00e4\u00e4ramiseks.<\/li>\n<li>V\u00f5rdle sisestatud k\u00e4sku toetatud k\u00e4skudega.<\/li>\n<\/ol>\n<h4><span class=\"ez-toc-section\" id=\"Programmi_naidisvaljund\"><\/span>Programmi n\u00e4idisv\u00e4ljund<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Esimeses n\u00e4ites vaatame k\u00e4su t\u00f6\u00f6tlemist. Kui k\u00e4sku ei tuvastata, antakse vastav veateade. Kui k\u00e4sk sisestatakse ilma eelneva koolonita, teostatakse hoopis linna nime j\u00e4rgi otsing (vaikimisi k\u00e4itumine).<\/p>\n<pre class=\"theme:cisco-router toolbar:2 nums:false lang:default highlight:0 decode:true\">risto@risto-lt:~\/pr2\/wk3_struct1$ .\/task_basic 03_data_short.txt  \r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n\r\nEnter a city name to search or a command\r\n&gt; :add   \r\n\r\nError! Unknown command!\r\n\r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n\r\nEnter a city name to search or a command\r\n&gt; exit\r\n\r\nSearching for: exit\r\n\r\nEmployees listed [0\/150]\r\n\r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n\r\nEnter a city name to search or a command\r\n&gt; :exit\r\n\r\nristo@risto-lt:~\/pr2\/wk3_struct1$ .\/task_basic 03_data_short.txt<\/pre>\n<p>Teises n\u00e4ites vaatame, kuidas toimub otsimine.<\/p>\n<pre class=\"theme:cisco-router toolbar:2 nums:false lang:default highlight:0 decode:true\">risto@risto-lt:~\/pr2\/wk3_struct1$ .\/task_basic 03_data_short.txt \r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n\r\nEnter a city name to search or a command\r\n&gt; Sindi\r\n\r\nSearching for: Sindi\r\n\r\nSaar, Anne\r\nCity: Sindi\r\neID: 49112012007\r\n\r\nMitt, Keit\r\nCity: Sindi\r\neID: 48012281578\r\n\r\nKallas, Ivari\r\nCity: Sindi\r\neID: 50107042125\r\n\r\nEmployees listed [3\/150]\r\n\r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n\r\nEnter a city name to search or a command\r\n&gt; :exit\r\n<\/pre>\n<p>Pane t\u00e4hele, et <span class=\"lang:c highlight:0 decode:true  crayon-inline \">:all<\/span>\u00a0 k\u00e4su n\u00e4ite j\u00e4tsime vahele &#8211; see l\u00e4heks liialt pikaks.<\/p>\n<p>Viimases n\u00e4ites n\u00e4ed programmi v\u00e4ljundit, kui k\u00f5ik lisa\u00fclesanded on tehtud. V\u00e4ljud on pikk, seega pead selle k\u00e4sitsi lahti klikkima.<\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-chevron su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Kliki mind, et n\u00e4ha v\u00e4ljundit<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<pre class=\"theme:cisco-router toolbar:2 nums:false lang:default highlight:0 decode:true \">risto@risto-lt:~\/pr2\/wk3_struct1$ .\/task_extra 03_data_short.txt Available commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n        :list  | print list of cities\r\n\r\nEnter a city name to search or a command\r\n&gt; sindi\r\n\r\nSearching for: sindi\r\n\r\nSaar, Anne\r\nCity: Sindi\r\nSex: Male\r\nDate of birth: 1. December 1991\r\n\r\nMitt, Keit\r\nCity: Sindi\r\nSex: Male\r\nDate of birth: 28. December 1980\r\n\r\nKallas, Ivari\r\nCity: Sindi\r\nSex: Female\r\nDate of birth: 4. July 2001\r\n\r\nEmployees listed [3\/150]\r\n\r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n        :list  | print list of cities\r\n\r\nEnter a city name to search or a command\r\n&gt; :list\r\n\r\nList of cities: \r\nAbja-Paluoja\r\nAbjaku\r\nAntsla\r\nElva\r\nHaapsalu\r\nKallaste\r\nKarksi\r\nKarksi-Nuia\r\nKehra\r\nKeila\r\nKunda\r\nKuressaare\r\nLihula\r\nLoksa\r\nMaardu\r\nMustvee\r\nNarva\r\nPaide\r\nPaldiski\r\nRakvere\r\nRapla\r\nSaue\r\nSindi\r\nSuure-Jaani\r\nSuure-Kambja\r\nSuure-Rakke\r\nSuure-Rootsi\r\nSuurekivi\r\nSuuremetsa\r\nSuurepsi\r\nSuuresadama\r\nSuuresta\r\nTallinn\r\nTamsalu\r\nTapa\r\nTartu\r\nValga\r\nViljandi\r\n\r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n        :list  | print list of cities\r\n\r\nEnter a city name to search or a command\r\n&gt; ALL\r\n\r\nSearching for: all\r\n\r\nMichal, Peeter\r\nCity: Tallinn\r\nSex: Female\r\nDate of birth: 10. May 2003\r\n\r\nSaks, Meelis\r\nCity: Kallaste\r\nSex: Female\r\nDate of birth: 2. December 1943\r\n\r\nToom, Aivar\r\nCity: Kallaste\r\nSex: Female\r\nDate of birth: 8. March 1963\r\n\r\nPuusepp, Anneli\r\nCity: Tallinn\r\nSex: Male\r\nDate of birth: 12. July 1963\r\n\r\nRoos, Arvo\r\nCity: Tallinn\r\nSex: Female\r\nDate of birth: 27. November 1974\r\n\r\nHein, Jelena\r\nCity: Kallaste\r\nSex: Male\r\nDate of birth: 2. November 2000\r\n\r\nRatas, Olga\r\nCity: Kallaste\r\nSex: Male\r\nDate of birth: 1. October 1982\r\n\r\nTomson, Mailis\r\nCity: Tallinn\r\nSex: Male\r\nDate of birth: 7. August 1969\r\n\r\nEmployees listed [8\/150]\r\n\r\nAvailable commands\r\n        :exit  | close the program\r\n        :all   | print everyone in the database\r\n        :list  | print list of cities\r\n\r\nEnter a city name to search or a command\r\n&gt; :exit\r\n\r\n<\/pre>\n<\/div><\/div>\n<p><span style=\"font-size: 22px; font-weight: bold;\">Lisa\u00fclesanne 1 [W03-2]: Linnade nimistu<\/span><\/p>\n<p>N\u00f5uded<\/p>\n<ul>\n<li>Linnade nimistu kuvamiseks lisa men\u00fc\u00fcsse k\u00e4sk &#8220;:list&#8221;<\/li>\n<li>Kuva kasutajale k\u00f5ik failis olevad linnad<\/li>\n<li>Linnade nimistu peab olema j\u00e4rjestatud t\u00e4hestiku alusel<\/li>\n<li>Linnade nimekiri koostatakse programmi poolt t\u00f6\u00f6 ajal, vastavalt sisendfailis esinevatele linna nimedele<\/li>\n<li>Linnade nimekirja peab saama kuvada korduvalt<\/li>\n<li>Linnade nimekirja tohib koostada programmi t\u00f6\u00f6 v\u00e4ltel vaid \u00fche korra.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Lisaulesanne_2_W03-3_Mugavam_otsing\"><\/span>Lisa\u00fclesanne 2 [W03-3]:\u00a0 Mugavam otsing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>N\u00f5uded<\/p>\n<ul>\n<li>Otsing ei tohi olla t\u00f5stutundlik. N\u00e4iteks otsides linna <span class=\"lang:default highlight:0 decode:true crayon-inline \">TALLINN<\/span>\u00a0 v\u00f5i <span class=\"lang:default highlight:0 decode:true crayon-inline\">tallinn<\/span> , tuleb kuvada k\u00f5ik t\u00f6\u00f6tajad, kes elavad Tallinnas.<\/li>\n<li>Otsing peab toetama osalist vastet. N\u00e4iteks otsides <span class=\"lang:default highlight:0 decode:true crayon-inline \">all<\/span>\u00a0 leitakse nii need, kes elavad Kallastel, kui ka need, kes elavad Tallinnas.<\/li>\n<li>M\u00f5lemad peavad t\u00f6\u00f6tama ka korraga. St eelnev tulemus peab olema leitav ka otsides <span class=\"lang:default highlight:0 decode:true crayon-inline\">ALL<\/span>\u00a0 v\u00f5i\u00a0<span class=\"lang:default highlight:0 decode:true crayon-inline\">aLL<\/span>.<br \/>\n<strong>NB! M\u00e4rka, et <span class=\"lang:c highlight:0 decode:true crayon-inline \">:all<\/span>\u00a0 on k\u00e4sklus k\u00f5igi t\u00f6\u00f6tajate kuvamiseks ning <span class=\"lang:c highlight:0 decode:true crayon-inline \">ALL<\/span>\u00a0 on otsing, mille tulemusena leitakse andmefailist t\u00f6\u00f6tajad Tallinnas ja Kallastel.<\/strong><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Lisaulesanne_3_W03-4_Toodeldud_isikukood\"><\/span>Lisa\u00fclesanne 3 [W03-4]: T\u00f6\u00f6deldud isikukood<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>N\u00f5uded<\/p>\n<ul>\n<li>\u00c4ra kuva vastuste hulgas enam isikukoodi<\/li>\n<li>Kuva t\u00f6\u00f6taja s\u00fcnniaeg formaadiga <span class=\"lang:default highlight:0 decode:true crayon-inline \">d. MMMM yyyy<\/span><\/li>\n<\/ul>\n<p>Isikukoodi formaadi kohta saad lugeda: <strong><a href=\"https:\/\/www.riigiteataja.ee\/akt\/114022017005\">https:\/\/www.riigiteataja.ee\/akt\/114022017005<\/a><\/strong><\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-chevron su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Vajuta mind, et n\u00e4ha selgitusi kuup\u00e4eva ja kellaaja vormingu kohta<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p>m &#8211; Minutid vahemikus 0 &#8211; 59.<br \/>\nmm &#8211; Minutid vahemikus 00 &#8211; 59. Minutitele 0 &#8211; 9 lisatakse ette number null.<\/p>\n<p>h &#8211; Tunnid vahemikus 1 &#8211; 12.<br \/>\nhh &#8211; Tunnid vahemikus 01 to 12. Tundidele 1 &#8211; 9 lisatakse ette number null.<br \/>\nH &#8211; Tunnid vahemikus 0 &#8211; 23<br \/>\nHH &#8211; Tunnid vahemikus 00 &#8211; 23. Tundidele 0 &#8211; 9 lisatakse ette number null.<\/p>\n<p>d &#8211; P\u00e4evad vahemikus 1 &#8211; 31<br \/>\ndd &#8211; P\u00e4evad vahemikus 01 &#8211; 31. P\u00e4evadele 1 &#8211; 9 lisatakse ette number null.<br \/>\nddd &#8211; P\u00e4evad l\u00fchinimega ( E \/ <em>Mon<\/em>; T \/ <em>Tue<\/em>; K \/ <em>Wed<\/em>; &#8230;)<br \/>\ndddd &#8211; P\u00e4evad t\u00e4ispika nimega (esmasp\u00e4ev \/ <em>Monday<\/em>; teisip\u00e4ev \/ <em>Tuesday<\/em>; kolmap\u00e4ev \/ <em>Wednesday<\/em>; &#8230;)<\/p>\n<p>M &#8211; Kuud vahemikus 1 &#8211; 12<br \/>\nMM &#8211; Kuud vahemikus 01 &#8211; 12. Kuudele 1 &#8211; 9 lisatakse ette number null.<br \/>\nMMM &#8211; Kuu l\u00fchinimi (jaan \/ <em>Jan<\/em>; veebr \/ <em>Feb<\/em>; m\u00e4rts \/ <em>Mar<\/em>; apr \/ <em>Apr<\/em>; &#8230;)<br \/>\nMMMM &#8211; Kuu t\u00e4ispika nimega (jaanuar \/ <em>January<\/em>; veebruar \/ <em>February<\/em>; M\u00e4rts \/ <em>March<\/em>; &#8230;)<\/p>\n<p>y &#8211; Aasta vahemikus 0 &#8211; 99<br \/>\nyy &#8211; Aasta vahemikus 00 &#8211; 99<br \/>\nyyy &#8211; Aasta, minimaalselt kolme numbriga (1 -&gt; 001; 15 -&gt; 015; 145 -&gt; 145; 1949 -&gt; 1949)<br \/>\nyyyy &#8211; Aasta nelja numbriga<\/p>\n<\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Parast_seda_tundi_peaksid\"><\/span>P\u00e4rast seda tundi peaksid<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Teadma, kuidas deklareerida uusi struktuure &#8211; st uus andmet\u00fc\u00fcp, milleks on struktuur<\/li>\n<li>Oskama valida struktuuri liikmeid<\/li>\n<li>Teadma, mis on struktuuri polsterdamine ja joondamine ning kuidas see m\u00f5jutab struktuuri suurust m\u00e4lus<\/li>\n<li>Teadma, mis m\u00f5jutab struktuuri suurust<\/li>\n<li>Teadma, millised operaatorid on kasutusel struktuuri liikmete poole p\u00f6\u00f6rdumiseks ja oskama kasutada punkt-operaatorit<\/li>\n<li>Teadma, kuidas luua struktuuridest koosnevat massiivi ja lugeda andmeid failist struktuurimassiivi<\/li>\n<li>Teadma, kuidas omistada terviklikku struktuuri<\/li>\n<li>Teadma, kuidas defineerida andmet\u00fc\u00fcpe \u00fcmber, andes neile uue nime (typedef)<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Taiendav_materjal\"><\/span>T\u00e4iendav materjal<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Structures in C<br \/>\n<strong><a href=\"https:\/\/www.geeksforgeeks.org\/structures-c\/\">https:\/\/www.geeksforgeeks.org\/structures-c\/<\/a><\/strong><\/li>\n<li>Structure Member Alignment, Padding and Data Packing<br \/>\n<strong><a href=\"https:\/\/www.geeksforgeeks.org\/structure-member-alignment-padding-and-data-packing\/\">https:\/\/www.geeksforgeeks.org\/structure-member-alignment-padding-and-data-packing\/<\/a><\/strong><\/li>\n<li>Typedef in C<br \/>\n<strong><a href=\"https:\/\/www.geeksforgeeks.org\/typedef-in-c\/\">https:\/\/www.geeksforgeeks.org\/typedef-in-c\/<\/a><\/strong><\/li>\n<li>Why to avoid typedefs with structs (by Linus Torvalds, author of Linux Kernel and Git)<br \/>\n<strong><a href=\"https:\/\/yarchive.net\/comp\/linux\/typedefs.html\">https:\/\/yarchive.net\/comp\/linux\/typedefs.html<\/a><\/strong><\/li>\n<li>Structure padding in C<br \/>\n<strong><a href=\"https:\/\/www.scaler.com\/topics\/structure-padding-in-c\/\">https:\/\/www.scaler.com\/topics\/structure-padding-in-c\/<\/a><\/strong><\/li>\n<li>C structures<br \/>\n<strong><a href=\"https:\/\/www.tutorialspoint.com\/cprogramming\/c_structures.htm\">https:\/\/www.tutorialspoint.com\/cprogramming\/c_structures.htm<\/a><\/strong><\/li>\n<li>Comprehensive list of date and time formats used in .Net.<br \/>\n<strong><a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/standard\/base-types\/custom-date-and-time-format-strings\">https:\/\/learn.microsoft.com\/en-us\/dotnet\/standard\/base-types\/custom-date-and-time-format-strings<\/a><\/strong><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Praktikumi materjal Slaidid: Struktuurid T\u00e4iendav koodin\u00e4idis: Struktuurimassiivi n\u00e4ide Praktikumis lahendatakse kommenteeritult koos l\u00e4bi failist struktuuridesse lugemise n\u00e4ide. Neile, kes praktikumis ei osalenud, on see avaldatud koodin\u00e4itena: Failist struktuurimassiivi lugemise n\u00e4ide Praktikumi \u00fclesanded Selles praktikumis on \u00fcks \u00fclesanne, mida laiendab kolm lisa\u00fclesannet. \u00dclesanne [W03-1]: T\u00f6\u00f6tajate otsing \u00dclesande eesm\u00e4rgiks on \u00f5ppida struktuure kasutama. \u00dclesanne ise matkib t\u00f6\u00f6tajate &hellip; <a href=\"https:\/\/blue.pri.ee\/ttu\/laborid\/pr2et3-struktuurid\/\" class=\"more-link\">Loe edasi <span class=\"screen-reader-text\">PR2ET3: Struktuurid<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97,176],"tags":[],"class_list":["post-8143","post","type-post","status-publish","format-standard","hentry","category-laborid","category-pr2-et"],"_links":{"self":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts\/8143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/comments?post=8143"}],"version-history":[{"count":28,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts\/8143\/revisions"}],"predecessor-version":[{"id":11222,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/posts\/8143\/revisions\/11222"}],"wp:attachment":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/media?parent=8143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/categories?post=8143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/tags?post=8143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}