<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.algopedia.ro/wiki/index.php?action=history&amp;feed=atom&amp;title=Clasa_a_VI-a_lec%C8%9Bia_10</id>
	<title>Clasa a VI-a lecția 10 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.algopedia.ro/wiki/index.php?action=history&amp;feed=atom&amp;title=Clasa_a_VI-a_lec%C8%9Bia_10"/>
	<link rel="alternate" type="text/html" href="https://www.algopedia.ro/wiki/index.php?title=Clasa_a_VI-a_lec%C8%9Bia_10&amp;action=history"/>
	<updated>2026-04-19T10:43:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.algopedia.ro/wiki/index.php?title=Clasa_a_VI-a_lec%C8%9Bia_10&amp;diff=14319&amp;oldid=prev</id>
		<title>Bella: /* Corectare Tema */</title>
		<link rel="alternate" type="text/html" href="https://www.algopedia.ro/wiki/index.php?title=Clasa_a_VI-a_lec%C8%9Bia_10&amp;diff=14319&amp;oldid=prev"/>
		<updated>2017-12-18T10:14:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Corectare Tema&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Corectare Tema = &lt;br /&gt;
* Am corectat problema  [http://varena.ro/problema/praslea Praslea]; am recapitulat tipurile de date : int, short int, long long; Nu se stia ca 4 miliarde nu e int. Am facut studiu de complexitate pe doua metode de rezolvare. Metodele derivau din structura de date care retinea parcelele. O metota retinea un vector cu dimensiunile tuturor celor 500000 parcele, a doua retinea cele m parcele, intr-un vector de perechi &amp;quot;Lungime, nr parcela&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
=== Concurs C4_6=== &lt;br /&gt;
* [http://varena.ro/problema/paritate paritate] Cerc informatică Vianu &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
  FILE *fin = fopen (&amp;quot;paritate.in&amp;quot;, &amp;quot;r&amp;quot;);&lt;br /&gt;
  FILE *fout = fopen (&amp;quot;paritate.out&amp;quot;, &amp;quot;w&amp;quot;);&lt;br /&gt;
  unsigned char c, c1, v[60000];&lt;br /&gt;
  int cod, i, n, p2, corect, biti1, ok;&lt;br /&gt;
  n = 0;&lt;br /&gt;
  c1 = fgetc( fin );&lt;br /&gt;
  ok = 1;&lt;br /&gt;
  while ( c1 != &amp;#039;\n&amp;#039; &amp;amp;&amp;amp; c1 != &amp;#039;EOF&amp;#039;){&lt;br /&gt;
    corect = 1;                //pp ca paritatea e corect&lt;br /&gt;
    biti1 = 0;                 //numara bitii de 1 din urmatorii 7 biti&lt;br /&gt;
    p2 = 64 ;                  //codul fiind pe 7 biti, prima putere din desc in baza 2 este 2^6&lt;br /&gt;
    cod = 0;&lt;br /&gt;
    //citim pe rand cei 7 biti&lt;br /&gt;
    for ( i = 0; i&amp;lt; 7; ++i){&lt;br /&gt;
      c = fgetc( fin );&lt;br /&gt;
      if ( c == &amp;#039;1&amp;#039;)&lt;br /&gt;
        biti1++;&lt;br /&gt;
      cod += ( c - &amp;#039;0&amp;#039;) * p2;&lt;br /&gt;
      p2 = p2 &amp;gt;&amp;gt; 1;            // p = p / 2;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //verific corectitudinea paritatii&lt;br /&gt;
    if( ( biti1 &amp;amp; 1 ) ^ ( c1 -&amp;#039;0&amp;#039; ) ){ //paritatea nr de biti tre sa fie la fel cu c1&lt;br /&gt;
      corect = 0;&lt;br /&gt;
      ok = 0;&lt;br /&gt;
      v[n++] = cod + 128;               //punem cod primul bit 1; atentie cod tre sa fie unsigned char&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
      v[n++] = cod;                     //memoram caracterul&lt;br /&gt;
    c1 = fgetc ( fin );&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
  if ( ok ){&lt;br /&gt;
    fprintf( fout, &amp;quot;DA\n&amp;quot;);&lt;br /&gt;
    for (i = 0; i&amp;lt; n ; i++)&lt;br /&gt;
      fputc( v[i] , fout );&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    fprintf( fout, &amp;quot;NU\n&amp;quot;);&lt;br /&gt;
    for (i = 0; i &amp;lt; n ; i++)&lt;br /&gt;
      if( v[i] &amp;gt;= 128 )&lt;br /&gt;
        fprintf( fout, &amp;quot;%d &amp;quot;, i);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  fclose( fin );&lt;br /&gt;
  fclose( fout );&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[http://isa.algopedia.ro/wiki/index.php/paritate Rez]&lt;br /&gt;
* [http://varena.ro/problema/submult submult] Cerc informatică Vianu [http://isa.algopedia.ro/wiki/index.php/submult Rez]&lt;br /&gt;
&lt;br /&gt;
= Lectie = &lt;br /&gt;
== Parcurgere circulara - Probleme ONI == &lt;br /&gt;
&lt;br /&gt;
* Am discutat problemele de la ONI, in care folosim parcurgerea circulara a unui vector:&lt;br /&gt;
** [http://varena.ro/problema/numar1 numar1]; - am explicat parcurgerea circulara spre stanga si spre dreapta, legatura dintre paritate si directie; nu s-a reusit implementarea intr-o ora; Ne-am impotmolit la parcurgerea circulara in sens invers (A) sau in cod incalcit ( T )&lt;br /&gt;
** [http://varena.ro/problema/numar numar]; am discutat metoda de rezolvare si am explicat un detaliu de implmentare: modalitatea de trecere prin valorile 0, 1, -1, 2, -2, etc&lt;br /&gt;
&lt;br /&gt;
= Tema =&lt;br /&gt;
Rezolvati in aceasta ordine problemele:&lt;br /&gt;
* [http://varena.ro/problema/numar1 numar1]&lt;br /&gt;
* [http://varena.ro/problema/numar numar]&lt;br /&gt;
* [http://varena.ro/problema/apropiate apropriate]&lt;br /&gt;
* [http://varena.ro/problema/spider spider]&lt;br /&gt;
Optional:&lt;br /&gt;
* [http://varena.ro/problema/sport1 sport1]&lt;br /&gt;
* [http://varena.ro/problema/palindrom1 palindrom1]&lt;/div&gt;</summary>
		<author><name>Bella</name></author>
	</entry>
</feed>