{"id":357,"date":"2018-12-04T21:30:32","date_gmt":"2018-12-04T20:30:32","guid":{"rendered":"http:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/?page_id=357"},"modified":"2019-12-02T14:40:05","modified_gmt":"2019-12-02T13:40:05","slug":"laboratorium-4-wskazniki","status":"publish","type":"page","link":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/?page_id=357","title":{"rendered":"Laboratorium 4 &#8211; wska\u017aniki"},"content":{"rendered":"<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\n#include&lt;iostream&gt;\n#include&lt;iomanip&gt;\n#include&lt;locale&gt;\n#include&lt;climits&gt;\nusing namespace std;\n\nconst size_t N = 3;\ntypedef unsigned char byte; \/\/definicja nowego typu\n\nvoid wczytaj(float* t, const size_t n)\n{\tfor (float* p = t; p &lt; t + n; p++)\n\t{\tcout &lt;&lt; &quot;t&#x5B;&quot; &lt;&lt; p - t &lt;&lt; &quot;]= &quot;;\n\t\tcin &gt;&gt; *p;\n\t}\n}\n\n\nint main(void)\n{\tdouble tablica&#x5B;N] = { 0.0 };\n\tfloat* tf = nullptr;\n\n\twczytaj((float*)tablica, N);\n\tcout.width(8);\n\tcout &lt;&lt; setprecision(3) &lt;&lt; fixed &lt;&lt; tablica&#x5B;1] &lt;&lt; &#039; &#039;;\n\tcout &lt;&lt; tablica&#x5B;2] &lt;&lt; &quot; &quot; &lt;&lt; cout.width() &lt;&lt; endl;\n\n\ttf = (float*)tablica;\n\tcout &lt;&lt; setprecision(3) &lt;&lt; fixed &lt;&lt; tf&#x5B;1] &lt;&lt; &#039; &#039;;\n\tcout &lt;&lt; tf&#x5B;2] &lt;&lt; &quot; &quot; &lt;&lt; cout.width() &lt;&lt; endl;\n\n\t\/\/wy\u015bwietlenie bajt\u00f3w\n\tfor (byte* pi = (byte*)tablica; pi &lt; (byte*)(tablica + 1); pi++)\n\t{\tcout &lt;&lt; setbase(2);\n\t\tcout &lt;&lt; (int)*pi &lt;&lt; &#039; &#039;;\n\t\t\/\/printf(&quot;%x &quot;, *pi);\n\t}\n\treturn 0;\n}\n<\/pre><\/div>\n\n\n<ol class=\"wp-block-list\"><li>\n\n                \u0106wiczenie\n\t\t\t\twykorzystania wska\u017anik\u00f3w jako alternatywnej metody\n\t\t\t\tdost\u0119pu do zmiennych tworzonych przez kompilator tzn.\n\t\t\t\tzmiennych globalnych i lokalnych.<br \/>\n\n( <em>Patrz przyk\u0142ad z\n\t\t\t\twyk\u0142adu nr 5 strona nr 3<\/em> )<br \/>\n\n                <br \/>\n\n&#8211; Utw\u00f3rz zmienne\n\t\t\t\tr\u00f3\u017cnych typu: char, int, long, &#8230;<br \/>\n\n&#8211; Napisz instrukcje\n\t\t\t\tzapisu warto\u015bci do jednej zmiennej (np. typu long) za\n\t\t\t\tpomoc\u0105 adresu innej zmiennej (tego samego typu lub innego)<br \/>\n\n&#8211;\n\t\t\t\tKontrolnie wy\u015bwietlaj zawarto\u015bci zmiennych po dokonaniu tych\n\t\t\t\tzapis\u00f3w<br \/>\n\n                <br \/>\n\nDodatkowo mo\u017cna napisa\u0107 fragment programu,\n\t\t\t\tkt\u00f3ry wy\u015bwietli zawarto\u015bci poszczeg\u00f3lnych bajt\u00f3w\n\t\t\t\tzajmowanych w pami\u0119ci przez w\/w zmienne.\n\n\t\t\t\t<\/li><li>\n\n                \u0106wiczenie\n\t\t\t\tw wykorzystaniu zapisu wska\u017anikowego jako metody dost\u0119pu do\n\t\t\t\telement\u00f3w tablicy.<br \/>\n\n                <br \/>\n\nNapisz funkcje wykonuj\u0105ce\n\t\t\t\tpodstawowe operacje na tablicach (tzn. wczytywanie,\n\t\t\t\twy\u015bwietlanie, liczenie sredniej, max, min) ale W ZAPISIE\n\t\t\t\tWSKA\u0179NIKOWYM !\n\n\t\t\t\t<\/li><li>\n\n                \u0141a\u0144cuchy\n\t\t\t\t&#8211; Napisz funkcje:<br \/>\n\n&nbsp;&nbsp; int <strong>moje_strlen<\/strong>( char*\n\t\t\t\t);<br \/>\n\n&nbsp;&nbsp; char* <strong>moje_strupr<\/strong>(char* );<br \/>\n\n&nbsp;&nbsp;\n                  char* <strong>moje_strcpy<\/strong>( char*, char* )<br \/>\n\n                <br \/>\n\nrealizuj\u0105ce te\n\t\t\t\tsame operacje co standardowe funkcje <strong>strlen<\/strong>, <strong>strupr,\n\t\t\t\tstrcpy <\/strong>z biblioteki &lt;string.h&gt;.\n\n\t\t\t\t<\/li><li>\n\n                Napisz\n\t\t\t\tfunkcj\u0119:<br \/>\n\n                <br \/>\n\nvoid <strong>str_zamien<\/strong>( char* tekst, char*\n                  stary_wzorzec, char* nowy_wzorzec);<br \/>\n\n                <br \/>\n\nrealizuj\u0105c\u0105 operacj\u0119\n\t\t\t\tzamiany w podanym tek\u015bcie <strong>starego wzorca<\/strong> na <strong>nowy<\/strong>\n\t\t\t\tnp.<br \/>\n\n&lt;tekst&gt; == &#8222;ala ma kota a ola ma\n\t\t\t\tasa&#8221;<br \/>\n\n&lt;stary_wzorzec&gt; == &#8222;ma&#8221;<br \/>\n\n&lt;nowy_wzorzec&gt;\n\t\t\t\t== &#8222;miala&#8221;<br \/>\n\nrezultat zamiany: &#8222;ala miala kota a\n\t\t\t\tola miala asa&#8221;<br \/>\n\n                <br \/>\n\n(Osoby mniej wprawne w programowaniu\n\t\t\t\tmog\u0105 napisa\u0107 uproszczon\u0105 wersj\u0119 tej funkcji, zamieniaj\u0105c\u0105\n\t\t\t\ttylko wzorce o tej samej d\u0142ugo\u015bci. W\u00f3wczas nie ma\n\t\t\t\tpotrzeby &#8222;rozsuwania&#8221; lub &#8222;zsuwania&#8221; starego\n\t\t\t\ttekstu)&nbsp; <\/li><li>Napisz\n\t\t\t\tfunkcj\u0119 formatuj\u0105c\u0105 tekst poprzez usuni\u0119cie wszystkich\n\t\t\t\tpocz\u0105tkowych i ko\u0144cowych spacji z \u0142a\u0144cucha zadanego jako\n\t\t\t\tparametr wej\u015bciowy tej funkcji.\n\n\t\t\t\t<\/li><li>\n\n                Napisz\n\t\t\t\tfunkcj\u0119 formatuj\u0105c\u0105 zadany tekst w taki spos\u00f3b aby\n\t\t\t\tkolejne wyrazy lub liczby by\u0142y pooddzielane dok\u0142adnie\n\t\t\t\tpojedynczymi spacjami.<br \/>\n\nNp. zamienaj\u0105c\u0105 tekst  \u201dAAA&nbsp;&nbsp;\n                  BBBBB&nbsp;&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp; DD&nbsp;&nbsp;&nbsp;&nbsp;\n                  EEEE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u201d na \u201dAAA\n\t\t\t\tBBBBB C DD EEEE\u201d\n\n\t\t\t\t<\/li><li>\n\n                \n  Napisz\n\t\t\t\tfunkcj\u0119 wyznaczaj\u0105c\u0105 sum\u0119 warto\u015bci liczb\n\t\t\t\tca\u0142kowitych przechowywanych w pami\u0119ci komputera w postaci\n\t\t\t\ttekstowej (np. char* liczby = \u201d12&nbsp;&nbsp; -3&nbsp;&nbsp;&nbsp;\n                  64&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 78\u201d;\n\t\t\t\t)\n<\/li><li>\n\n                Napisz\n\t\t\t\tfunkcj\u0119, kt\u00f3ra odfiltrowuje (usuwa) z zadanej dynamicznej\n\t\t\t\ttablicy liczb rzeczywistych wszystkie elementy o warto\u015bci\n\t\t\t\tujemnej. Parametrem wej\u015bciowym tej funkcji powinien by\u0107\n\t\t\t\tpocz\u0105tkowy adres tablicy oraz jej rozmiar. Efektem ko\u0144cowym\n\t\t\t\tpowinien by\u0107 adres tablicy wynikowej (zawieraj\u0105cej tylko liczby\n\t\t\t\tnieujemne) oraz jej rozmiar (najcz\u0119\u015bciej r\u00f3\u017cny od\n\t\t\t\trozmiaru tablicy wej\u015bciowej). Uwzgl\u0119dnij przypadek, gdy\n\t\t\t\ttablica wej\u015bciowa zawiera tylko liczby ujemne!\n\t\t\t\t\n\n\t\t\t<\/li><li>\n\n                Napisz\n\t\t\t\tprogram pozwalaj\u0105cy przechowywa\u0107 w pami\u0119ci komputera dowolnej\n\t\t\t\twielko\u015bci tablic\u0119 tekst\u00f3w. Oprogramuj operacje:\n\t\t\t\twczytywania, wy\u015bwietlania, wyszukiwania i sortowania tekst\u00f3w\n\t\t\t\tprzechowywanych w tej tablicy.\n\t\t\t\t\n\n\t\t\t<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0106wiczenie wykorzystania wska\u017anik\u00f3w jako alternatywnej metody dost\u0119pu do zmiennych tworzonych przez kompilator tzn. zmiennych globalnych i lokalnych. ( Patrz przyk\u0142ad z wyk\u0142adu nr 5 strona nr 3 ) &#8211; Utw\u00f3rz zmienne r\u00f3\u017cnych typu: char, int, long, &#8230; &#8211; Napisz instrukcje zapisu warto\u015bci do jednej zmiennej (np. typu long) za pomoc\u0105 adresu innej zmiennej (tego samego [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":214,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"class_list":["post-357","page","type-page","status-publish","hentry"],"coauthors":[],"author_meta":{"author_link":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/?author=1","display_name":"Tomasz Babczy\u0144ski"},"relative_dates":{"created":"Opublikowano 8 lat temu","modified":"Zaktualizowano 7 lat temu"},"absolute_dates":{"created":"Opublikowano 04.12.2018","modified":"Zaktualizowano 02.12.2019"},"absolute_dates_time":{"created":"Opublikowano 04.12.2018 9:30 PM","modified":"Zaktualizowano 02.12.2019 2:40 PM"},"featured_img_caption":"","featured_img":false,"series_order":"","_links":{"self":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=357"}],"version-history":[{"count":3,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/357\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/357\/revisions\/446"}],"up":[{"embeddable":true,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/214"}],"wp:attachment":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}