{"id":3070,"date":"2020-01-09T11:36:41","date_gmt":"2020-01-09T10:36:41","guid":{"rendered":"https:\/\/www.webotlet.hu\/?p=3070"},"modified":"2022-01-01T16:24:23","modified_gmt":"2022-01-01T15:24:23","slug":"c-programozas-2008-majusi-emelt-informatika-erettsegi-sms","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=3070","title":{"rendered":"C++ programoz\u00e1s \u2013 2008 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi \u2013 SMS"},"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_08maj_SMS.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\r\nusing namespace std;\r\n\r\nclass uzenet\r\n{\r\npublic:\r\n  int ora;\r\n  int perc;\r\n  string szam;\r\n  string uzenet;\r\n  int hossz;\r\n\r\n  string toString()\r\n  {\r\n    stringstream ss;\r\n    ss &lt;&lt; &quot;ora: &quot; &lt;&lt; ora &lt;&lt; &quot;, perc: &quot; &lt;&lt; perc\r\n    &lt;&lt; &quot;, szam: &quot; &lt;&lt; szam &lt;&lt; &quot;, uzenet: &quot;\r\n    &lt;&lt; uzenet &lt;&lt; endl;\r\n    return ss.str();\r\n  }\r\n};\r\n\r\nint main()\r\n{\r\n\/\/ 1. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;1. feladat&quot; &lt;&lt; endl;\r\n  int meret;\r\n  ifstream input(&quot;sms.txt&quot;);\r\n  input &gt;&gt; meret;\r\n  uzenet uzenetek&#x5B;meret];\r\n  string tmp;\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    input &gt;&gt; uzenetek&#x5B;i].ora &gt;&gt; uzenetek&#x5B;i].perc &gt;&gt; uzenetek&#x5B;i].szam;\r\n    input.get();\r\n    \/* vagy\r\n        input &gt;&gt; uzenetek&#x5B;i].ora &gt;&gt; uzenetek&#x5B;i].perc &gt;&gt; uzenetek&#x5B;i].szam;\r\n        getline(input, tmp);\r\n    *\/\r\n\r\n    \/* vagy\r\n        input &gt;&gt; uzenetek&#x5B;i].ora &gt;&gt; uzenetek&#x5B;i].perc &gt;&gt; uzenetek&#x5B;i].szam;\r\n        input.ignore(1, '\\n');\r\n    *\/\r\n    getline(input, uzenetek&#x5B;i].uzenet);\r\n    uzenetek&#x5B;i].hossz = uzenetek&#x5B;i].uzenet.length();\r\n\/\/    cout &lt;&lt; uzenetek&#x5B;i].toString();\r\n  }\r\n\r\n\r\n\/\/ 2. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;2. feladat&quot; &lt;&lt; endl;\r\n  \r\n  if( meret &gt; 10 )\r\n  {\r\n    cout &lt;&lt; uzenetek&#x5B;9].uzenet &lt;&lt; endl;\r\n  }\r\n  else\r\n  {\r\n    cout &lt;&lt; uzenetek&#x5B;meret-1].uzenet &lt;&lt; endl;\r\n  }\r\n\r\n\/\/ 3. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;3. feladat&quot; &lt;&lt; endl;\r\n  int min = 0;\r\n  int max = 0;\r\n\r\n  for( int i = 1; i &lt; meret; i++ )\r\n  {\r\n    if( uzenetek&#x5B;i].hossz &gt; uzenetek&#x5B;max].hossz )\r\n    {\r\n      max = i;\r\n    }\r\n\r\n    if( uzenetek&#x5B;i].hossz &lt; uzenetek&#x5B;min].hossz )\r\n    {\r\n      min = i;\r\n    }\r\n  }\r\n  cout &lt;&lt; &quot;A leghosszabb uzenet adatai: &quot; &lt;&lt; uzenetek&#x5B;max].ora\r\n    &lt;&lt; &quot; &quot; &lt;&lt; uzenetek&#x5B;max].perc &lt;&lt; &quot; &quot; &lt;&lt; uzenetek&#x5B;max].szam\r\n    &lt;&lt; &quot; &quot; &lt;&lt; uzenetek&#x5B;max].uzenet &lt;&lt; endl;\r\n  cout &lt;&lt; &quot;A legrovidebb uzenet adatai: &quot; &lt;&lt; uzenetek&#x5B;min].ora\r\n    &lt;&lt; &quot; &quot; &lt;&lt; uzenetek&#x5B;min].perc &lt;&lt; &quot; &quot; &lt;&lt; uzenetek&#x5B;min].szam\r\n    &lt;&lt; &quot; &quot; &lt;&lt; uzenetek&#x5B;min].uzenet &lt;&lt; endl;\r\n\r\n\/\/ 4. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;4. feladat&quot; &lt;&lt; endl;\r\n\r\n  int hosszok&#x5B;5] = {0};\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    if( uzenetek&#x5B;i].hossz &lt;= 20 )\r\n    {\r\n      hosszok&#x5B;0]++;\r\n    }\r\n    else if( uzenetek&#x5B;i].hossz &gt;= 21 &amp;&amp; uzenetek&#x5B;i].hossz &lt;= 40 )\r\n    {\r\n      hosszok&#x5B;1]++;\r\n    }\r\n    else if( uzenetek&#x5B;i].hossz &gt;= 41 &amp;&amp; uzenetek&#x5B;i].hossz &lt;= 60 )\r\n    {\r\n      hosszok&#x5B;2]++;\r\n    }\r\n    else if( uzenetek&#x5B;i].hossz &gt;= 61 &amp;&amp; uzenetek&#x5B;i].hossz &lt;= 80 )\r\n    {\r\n      hosszok&#x5B;3]++;\r\n    }\r\n    else \/\/ a t\u00f6bbi \u00fagyis maximum 100 hossz\u00fa lehet\r\n    {\r\n      hosszok&#x5B;4]++;\r\n    }\r\n\r\n\/\/ val\u00f3j\u00e1ban nem kell ennyi vizsg\u00e1lat, ha megfelel\u0151 sorrendben vizsg\u00e1ljuk\r\n\/*\r\n    if( uzenetek&#x5B;i].hossz &lt;= 20 )\r\n    {\r\n      hosszok&#x5B;0]++;\r\n    }\r\n    else if( uzenetek&#x5B;i].hossz &lt;= 40 )\r\n    {\r\n      hosszok&#x5B;1]++;\r\n    }\r\n    else if( uzenetek&#x5B;i].hossz &lt;= 60 )\r\n    {\r\n      hosszok&#x5B;2]++;\r\n    }\r\n    else if( uzenetek&#x5B;i].hossz &lt;= 80 )\r\n    {\r\n      hosszok&#x5B;3]++;\r\n    }\r\n    else\r\n    {\r\n      hosszok&#x5B;4]++;\r\n    }\r\n*\/\r\n  }\r\n\r\n  cout &lt;&lt; &quot;1-20 &quot; &lt;&lt; hosszok&#x5B;0] &lt;&lt; endl;\r\n  cout &lt;&lt; &quot;21-40 &quot; &lt;&lt; hosszok&#x5B;1] &lt;&lt; endl;\r\n  cout &lt;&lt; &quot;41-60 &quot; &lt;&lt; hosszok&#x5B;2] &lt;&lt; endl;\r\n  cout &lt;&lt; &quot;61-80 &quot; &lt;&lt; hosszok&#x5B;3] &lt;&lt; endl;\r\n  cout &lt;&lt; &quot;81-100 &quot; &lt;&lt; hosszok&#x5B;4] &lt;&lt; endl;\r\n\r\n  \/* 4. feladat megold\u00e1sa t\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1ssal\r\n\r\n    int hosszok&#x5B;5] = {0};\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n      hosszok&#x5B;(uzenetek&#x5B;i].hossz-1) \/ 20]++;\r\n    }\r\n\r\n    cout &lt;&lt; &quot;1-20 &quot; &lt;&lt; hosszok&#x5B;0] &lt;&lt; endl;\r\n    cout &lt;&lt; &quot;21-40 &quot; &lt;&lt; hosszok&#x5B;1] &lt;&lt; endl;\r\n    cout &lt;&lt; &quot;41-60 &quot; &lt;&lt; hosszok&#x5B;2] &lt;&lt; endl;\r\n    cout &lt;&lt; &quot;61-80 &quot; &lt;&lt; hosszok&#x5B;3] &lt;&lt; endl;\r\n    cout &lt;&lt; &quot;81-100 &quot; &lt;&lt; hosszok&#x5B;4] &lt;&lt; endl;\r\n  *\/\r\n\r\n\/\/ 5. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;5. feladat&quot; &lt;&lt; endl;\r\n  int orak&#x5B;24] = {0};\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    orak&#x5B;uzenetek&#x5B;i].ora]++;\r\n  }\r\n\r\n  int szum = 0;\r\n  for( int i = 0; i &lt; 24; i++ )\r\n  {\r\n    if( orak&#x5B;i] &gt; 10 )\r\n    {\r\n      szum += orak&#x5B;i] - 10;\r\n    }\r\n  }\r\n  cout &lt;&lt; szum &lt;&lt; endl;\r\n\r\n\/\/ 6. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;6. feladat&quot; &lt;&lt; endl;\r\n\r\n  int db = 0;\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    if( uzenetek&#x5B;i].szam == &quot;123456789&quot; )\r\n    {\r\n      db++;\r\n    }\r\n  }\r\n\r\n  if( db &lt; 2 )\r\n  {\r\n    cout &lt;&lt; &quot;nincs elegendo uzenet&quot; &lt;&lt; endl;\r\n  }\r\n\r\n  else\r\n  {\r\n    int barino&#x5B;db];\r\n    db = 0;\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n      if( uzenetek&#x5B;i].szam == &quot;123456789&quot; )\r\n      {\r\n        barino&#x5B;db] = uzenetek&#x5B;i].ora*60 + uzenetek&#x5B;i].perc;\r\n        db++;\r\n      }\r\n    }\r\n\r\n    max = barino&#x5B;1] - barino&#x5B;0];\r\n\r\n    for( int i = 2; i &lt; db; i++ )\r\n    {\r\n      if( barino&#x5B;i] - barino&#x5B;i-1] &gt; max )\r\n      {\r\n        max = barino&#x5B;i] - barino&#x5B;i-1];\r\n      }\r\n    }\r\n\r\n    cout &lt;&lt; max \/ 60 &lt;&lt; &quot;:&quot; &lt;&lt; max % 60 &lt;&lt; endl;\r\n  }\r\n\r\n\/\/ 7. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;7. feladat&quot; &lt;&lt; endl;\r\n  int meret2 = meret+1;\r\n  uzenet uzenetek2&#x5B;meret+1];\r\n\r\n  for( int i = 0; i &lt; meret; i++ )\r\n  {\r\n    uzenetek2&#x5B;i] = uzenetek&#x5B;i];\r\n  }\r\n\r\n  cout &lt;&lt; &quot;Ora: &quot;;\r\n  cin &gt;&gt; uzenetek2&#x5B;meret2-1].ora;\r\n  cout &lt;&lt; &quot;Perc: &quot;;\r\n  cin &gt;&gt; uzenetek2&#x5B;meret2-1].perc;\r\n  cout &lt;&lt; &quot;Telefonszam: &quot;;\r\n  cin &gt;&gt; uzenetek2&#x5B;meret2-1].szam;\r\n  cin.get();\r\n\r\n  cout &lt;&lt; &quot;Uzenet: &quot;;\r\n  getline(cin, uzenetek2&#x5B;meret2-1].uzenet);\r\n  uzenetek2&#x5B;meret2-1].hossz = uzenetek2&#x5B;meret2-1].uzenet.length();\r\n\r\n  for( int i = 0; i &lt; meret2; i++ )\r\n  {\r\n    cout &lt;&lt; uzenetek2&#x5B;i].toString();\r\n  }\r\n\r\n\/\/ 8. feladat\r\n  cout &lt;&lt; endl &lt;&lt; &quot;8. feladat&quot; &lt;&lt; endl;\r\n  ofstream output(&quot;smski.txt&quot;);\r\n\r\n  for( int i = 0; i &lt; meret2-1; i++ )\r\n  {\r\n    for( int j = i+1; j &lt; meret2; j++ )\r\n    {\r\n      if( uzenetek2&#x5B;i].szam &gt; uzenetek2&#x5B;j].szam )\r\n      {\r\n        uzenet csere = uzenetek2&#x5B;i];\r\n        uzenetek2&#x5B;i] = uzenetek2&#x5B;j];\r\n        uzenetek2&#x5B;j] = csere;\r\n      }\r\n    }\r\n  }\r\n\r\n  string elozo = &quot;&quot;;\r\n  for( int i = 0; i &lt; meret2; i++ )\r\n  {\r\n    if( uzenetek2&#x5B;i].szam != elozo )\r\n    {\r\n      output &lt;&lt; uzenetek2&#x5B;i].szam &lt;&lt; endl;\r\n      elozo = uzenetek2&#x5B;i].szam;\r\n    }\r\n    output &lt;&lt; uzenetek2&#x5B;i].ora &lt;&lt; &quot; &quot; &lt;&lt; uzenetek2&#x5B;i].perc\r\n      &lt;&lt; &quot; &quot; &lt;&lt; uzenetek2&#x5B;i].uzenet &lt;&lt; endl;\r\n  }\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; using namespace std; class uzenet { public: int ora; int perc; string szam; string uzenet; int hossz; string toString() { stringstream ss; ss &lt;&lt; <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=3070\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s \u2013 2008 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi \u2013 SMS<\/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-3070","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\/3070","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=3070"}],"version-history":[{"count":3,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3070\/revisions"}],"predecessor-version":[{"id":3143,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3070\/revisions\/3143"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}