{"id":3076,"date":"2020-01-10T09:10:55","date_gmt":"2020-01-10T08:10:55","guid":{"rendered":"https:\/\/www.webotlet.hu\/?p=3076"},"modified":"2020-01-13T07:46:28","modified_gmt":"2020-01-13T06:46:28","slug":"c-programozas-2008-oktoberi-emelt-informatika-erettsegi-robot","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=3076","title":{"rendered":"C++ programoz\u00e1s \u2013 2008 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 robot"},"content":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem, <a href=\"https:\/\/www.webotlet.hu\/wp-content\/uploads\/2019\/11\/e_info_08okt_robot.pdf\">innen<\/a> t\u00f6ltheted le.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;iostream&gt;\r\n#include &lt;fstream&gt;\r\n#include &lt;sstream&gt;\r\n#include &lt;cmath&gt;\r\n#include &lt;iomanip&gt; \/\/ setprecision miatt\r\n#include &lt;cstdlib&gt;\r\n\r\nusing namespace std;\r\n\r\nstruct prog\r\n{\r\n  string utasitas;\r\n  int hossz;\r\n\r\n  string toString()\r\n  {\r\n    stringstream ss;\r\n    ss &lt;&lt; utasitas &lt;&lt; &quot; &quot; &lt;&lt; hossz &lt;&lt; endl;\r\n    return ss.str();\r\n  }\r\n};\r\n\r\n\r\n\r\nint main()\r\n{\r\n  \/\/ 1. feladat\r\n  int meret;\r\n  ifstream input(&quot;program.txt&quot;);\r\n\r\n  input &gt;&gt; meret;\r\n\r\n  prog programok&#x5B;meret];\r\n\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    input &gt;&gt; programok&#x5B;i].utasitas;\r\n    programok&#x5B;i].hossz = programok&#x5B;i].utasitas.length();\r\n\/\/    cout &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; programok&#x5B;i].toString();\r\n  }\r\n\r\n  \/\/ 2. feladat\r\n  cout &lt;&lt; &quot;2. feladat: Kerem az utasitassor szamat! &quot;;\r\n  int sorszam;\r\n  cin &gt;&gt; sorszam;\r\n  sorszam--;\r\n\r\n  \/\/ a.\r\n  prog pr = programok&#x5B;sorszam];\r\n\r\n  if( pr.utasitas.find(&quot;ED&quot;) &lt; pr.utasitas.length() ||\r\n    pr.utasitas.find(&quot;DE&quot;) &lt; pr.utasitas.length() ||\r\n    pr.utasitas.find(&quot;KN&quot;) &lt; pr.utasitas.length() ||\r\n    pr.utasitas.find(&quot;NK&quot;) &lt; pr.utasitas.length() )\r\n  {\r\n    cout &lt;&lt; &quot;egyszerusitheto.&quot; &lt;&lt; endl;\r\n  }\r\n  else\r\n  {\r\n    cout &lt;&lt; &quot;nem egyszerusitheto.&quot; &lt;&lt; endl;\r\n  }\r\n\r\n  \/\/ b.\r\n  int x = 0;\r\n  int y = 0;\r\n  for( int i = 0; i &lt; pr.hossz; i++ )\r\n  {\r\n    if( pr.utasitas&#x5B;i] == 'E' )\r\n    {\r\n      y++;\r\n    }\r\n    else if( pr.utasitas&#x5B;i] == 'D' )\r\n    {\r\n      y--;\r\n    }\r\n    else if( pr.utasitas&#x5B;i] == 'K' )\r\n    {\r\n      x++;\r\n    }\r\n    else\r\n    {\r\n      x--;\r\n    }\r\n  }\r\n  cout &lt;&lt; abs(y) &lt;&lt; &quot; lepest kell tenni az ED, &quot; &lt;&lt; abs(x)\r\n    &lt;&lt; &quot; lepest a KN tengely menten.&quot; &lt;&lt; endl;\r\n\r\n  \/\/ c.\r\n  x = 0;\r\n  y = 0;\r\n  double maxtav = 0;\r\n  int lepes = 0;\r\n  for( int i = 0; i &lt; pr.hossz; i++ )\r\n  {\r\n    if( pr.utasitas&#x5B;i] == 'E' )\r\n    {\r\n      y++;\r\n    }\r\n    else if( pr.utasitas&#x5B;i] == 'D' )\r\n    {\r\n      y--;\r\n    }\r\n    else if( pr.utasitas&#x5B;i] == 'K' )\r\n    {\r\n      x++;\r\n    }\r\n    else\r\n    {\r\n      x--;\r\n    }\r\n    double tav = sqrt((x*x) + (y*y));\r\n    if( tav &gt; maxtav )\r\n    {\r\n      maxtav = tav;\r\n      lepes = i + 1;\r\n    }\r\n  }\r\n\r\n  cout &lt;&lt; lepes &lt;&lt; &quot; &quot; &lt;&lt; fixed &lt;&lt; setprecision(2) &lt;&lt; maxtav &lt;&lt; endl;\r\n\r\n  \/\/ 3. feladat\r\n  cout &lt;&lt; &quot;3. feladat&quot; &lt;&lt; endl;\r\n\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    int energia = 2 + programok&#x5B;i].hossz;\r\n    for( int j = 1; j &lt; programok&#x5B;i].hossz; j++ )\r\n    {\r\n      if( programok&#x5B;i].utasitas&#x5B;j - 1] != programok&#x5B;i].utasitas&#x5B;j] )\r\n      {\r\n        energia += 2;\r\n      }\r\n    }\r\n\r\n    if( energia &lt;= 100 )\r\n    {\r\n      cout &lt;&lt; (i+1) &lt;&lt; &quot; &quot; &lt;&lt; energia &lt;&lt; endl;\r\n    }\r\n  }\r\n\r\n  \/\/ 4. feladat\r\n  cout &lt;&lt; &quot;4. feladat&quot; &lt;&lt; endl;\r\n  ofstream output(&quot;ujprog.txt&quot;);\r\n\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    stringstream ss;\r\n    int db = 1;\r\n    for( int j = 1; j &lt; programok&#x5B;i].hossz; j++ )\r\n    {\r\n      if( programok&#x5B;i].utasitas&#x5B;j-1] != programok&#x5B;i].utasitas&#x5B;j] )\r\n      {\r\n        if( db == 1 )\r\n        {\r\n          ss &lt;&lt; programok&#x5B;i].utasitas&#x5B;j-1];\r\n        }\r\n        else\r\n        {\r\n          ss &lt;&lt; db &lt;&lt; programok&#x5B;i].utasitas&#x5B;j-1];\r\n        }\r\n        db = 1;\r\n      }\r\n      else\r\n      {\r\n        db++;\r\n      }\r\n    }\r\n\r\n    int utolso = programok&#x5B;i].hossz;\r\n    if( db == 1 )\r\n    {\r\n      ss &lt;&lt; programok&#x5B;i].utasitas&#x5B;utolso-1];\r\n    }\r\n    else\r\n    {\r\n      ss &lt;&lt; db &lt;&lt; programok&#x5B;i].utasitas&#x5B;utolso-1];\r\n    }\r\n    output &lt;&lt; ss.str() &lt;&lt; endl;\r\n  }\r\n  output.close();\r\n\r\n  \/\/ 5. feladat\r\n  cout &lt;&lt; &quot;5. feladat&quot; &lt;&lt; endl;\r\n  string rovid;\r\n  cout &lt;&lt; &quot;Adj meg egy roviditett utasitassort:&quot; &lt;&lt; endl;\r\n  cin &gt;&gt; rovid;\r\n\r\n  stringstream ss;\r\n  stringstream utasitas;\r\n  int hossz = rovid.length();\r\n  for( int i = 0; i &lt; hossz; i++ )\r\n  {\r\n    if( rovid&#x5B;i] &gt;= '0' &amp;&amp; rovid&#x5B;i] &lt;= '9' )\r\n    {\r\n      ss &lt;&lt; rovid&#x5B;i];\r\n    }\r\n    else\r\n    {\r\n      if( ss.str() != &quot;&quot; )\r\n      {\r\n        int db;\r\n        ss &gt;&gt; db;\r\n        for( int j = 0; j &lt; db; j++ )\r\n        {\r\n          utasitas &lt;&lt; rovid&#x5B;i];\r\n        }\r\n\/\/ stringstream kiuritese (2 utasitas!)\r\n        ss.clear();\r\n        ss.str(&quot;&quot;);\r\n      }\r\n      else\r\n      {\r\n        utasitas &lt;&lt; rovid&#x5B;i];\r\n      }\r\n    }\r\n  }\r\n  cout &lt;&lt; utasitas.str() &lt;&lt; endl;\r\n  return 0;\r\n}\r\n<\/pre>\n<p>Ha hib\u00e1t tal\u00e1lsz benne, k\u00e9rlek jelezd!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem, innen t\u00f6ltheted le. #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;sstream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; \/\/ setprecision miatt #include &lt;cstdlib&gt; using namespace std; struct prog { string utasitas; int hossz; string toString() { stringstream ss; <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=3076\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s \u2013 2008 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 robot<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[184],"tags":[],"class_list":["post-3076","post","type-post","status-publish","format-standard","hentry","category-c-emelt-erettsegi-feladatok"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3076"}],"version-history":[{"count":3,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3076\/revisions"}],"predecessor-version":[{"id":3086,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3076\/revisions\/3086"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}