<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Два студента пишут лабы &#187; C</title>
	<atom:link href="http://www.studcode.ru/archiv/tag/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.studcode.ru</link>
	<description>Конспекты лекций, самостоятельные работы по  delphi, с++, php. Курсовые проекты. Все что мы сделали вы можете скачать без проблем!</description>
	<lastBuildDate>Wed, 27 Oct 2010 15:15:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Сортировка. Метод погружения.</title>
		<link>http://www.studcode.ru/archiv/sortirovka-metod-pogruzheniya/</link>
		<comments>http://www.studcode.ru/archiv/sortirovka-metod-pogruzheniya/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 17:21:14 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Дополнительные разделы программировани]]></category>
		<category><![CDATA[Лабораторные работы]]></category>
		<category><![CDATA[лабы]]></category>
		<category><![CDATA[лекции]]></category>
		<category><![CDATA[сортировки]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=965</guid>
		<description><![CDATA[Метод основан на сравнении последнего элемента со всеми.
Алгоритм:

понадобится два массива:  исходный(неупорядоченный) и выходной(пустой)
берем первый элемент исходного массива и помещаем в конец выходного
в цикле сравниваем добавленый элемент со всеми, пока он не станет на свое место
повторяем пункт 3 пока в исходном массиве не закончатся элементы



  #include 
  #include


  void add(int *mas[20], int n)
 [...]]]></description>
			<content:encoded><![CDATA[<p>Метод основан на сравнении последнего элемента со всеми.</p>
<p><em>Алгоритм:</em></p>
<ol>
<li>понадобится два массива:  исходный(неупорядоченный) и выходной(пустой)</li>
<li>берем первый элемент исходного массива и помещаем в конец выходного</li>
<li>в цикле сравниваем добавленый элемент со всеми, пока он не станет на свое место</li>
<li>повторяем пункт 3 пока в исходном массиве не закончатся элементы</li>
</ol>
<p><span id="more-965"></span></p>
<pre><code>
  #include <iostream.h>
  #include
<math.h>

  void add(int *mas[20], int n)
    {
     int i,j,*temp;

     for (i=0;i<n;i++)
       cout<<mas[i]<<"   "<<endl;

       j=n-1;
       while ((mas[j]<mas[j-1])|j>0)
         {
          temp=mas[j-1];
          mas[j-1]=mas[j];
          mas[j]=temp;
          --j;
         }
       for (i=0;i<n;i++)
         cout<<mas[i]<<"   "<<endl;

    }

  void main ()
    {

     int   menu, exit;
     int mas[20];
     int n;

     n=0;

     while (exit==0)
       {
	cout << "1   add element"  << endl << "2   exit" << endl;
	cin>>menu;
	switch (menu)
	  {
	   case 1: { cin>>mas[n];  ++n; add(&#038;mas, n);  } ; break;

	   default: exit=1;
	  }
       };

    }

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/sortirovka-metod-pogruzheniya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Стек связной.</title>
		<link>http://www.studcode.ru/archiv/stek-svyaznoj/</link>
		<comments>http://www.studcode.ru/archiv/stek-svyaznoj/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 22:19:01 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[лабы]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=580</guid>
		<description><![CDATA[Тема: Линейные списки.
Цель: Закрепить на практике знания по устройству и функционированию линейных списков. Выполнить на практике один из типов списков.
Закодировать на языке заданном в варианте языке программирования один из типов линейных типов. При выполнении задания каждую операцию над списком необходимо оформить отдельной процедурой, функцией или методом.


  #include 
  #include

  struct Tconteiner
  [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline;">Тема:</span></strong> Линейные списки.<br />
<strong><span style="text-decoration: underline;">Цель:</span></strong> Закрепить на практике знания по устройству и функционированию линейных списков. Выполнить на практике один из типов списков.</p>
<p>Закодировать на языке заданном в варианте языке программирования один из типов линейных типов. При выполнении задания каждую операцию над списком необходимо оформить отдельной процедурой, функцией или методом.</p>
<p><span id="more-580"></span></p>
<pre><code>
  #include <iostream.h>
  #include
<math.h>
  struct Tconteiner
    {
     float znach;
     Tconteiner *next;
    };
  struct Torder
    {
     Tconteiner  *top;
    };
  void add(Torder *order, float znach)
    {
     Tconteiner *temp;

     temp=new Tconteiner;

     if (order->top!=NULL)
       {
	temp->next=order->top;
	order->top=temp;
	order->top->znach=znach;
       };
     if (order->top==NULL)
       {
	temp->znach=znach;
	temp->next=NULL;
	order->top=temp;
       }

    }

  void show(Torder *order)
    {
     Tconteiner *temp;
     temp=order->top;

     if (temp==NULL)
      { cout<<"pusto"<< endl;
	return;
      }
	cout<<endl;

     if (temp!=NULL)
       {
	do
	  {
	   cout << temp->znach << endl;
	   temp=temp->next;
	  }
	while (temp!=NULL);
       }
     cout << endl;

    }

  int del(Torder *order)
    {
     Tconteiner *gg;

     gg=new Tconteiner;
     gg=order->top;
     order->top=order->top->next;
     delete gg;
     return 1;
    }
  void nul(Torder *order)
    {
     order->top=NULL;
    }
  void main ()
    {
     Torder stek;
     float znach;
     int   menu, exit;

     nul(&#038;stek);
     exit=0;
     while (exit==0)
       {
	cout << "1   add element"  << endl << "2   del element" << endl
	     << "3   show stek" << endl << "4   exit" << endl;
	cin>>menu;
	switch (menu)
	  {
	   case 1: { cin>>znach;  add(&#038;stek, znach);  } ; break;
	   case 2: {if (del(&#038;stek)==1) cout<<"del"<<endl;};                          ; break;
	   case 3: show(&#038;stek);                         ; break;
	   default: exit=1;
	  }
       };

    }

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/stek-svyaznoj/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пирамидальная сортировка</title>
		<link>http://www.studcode.ru/archiv/piramidalnaya-sortirovka/</link>
		<comments>http://www.studcode.ru/archiv/piramidalnaya-sortirovka/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 19:35:10 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Дополнительные разделы программировани]]></category>
		<category><![CDATA[Лабораторные работы]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[лабы]]></category>
		<category><![CDATA[лекции]]></category>
		<category><![CDATA[сортировки]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=208</guid>
		<description><![CDATA[Эта сортировка похожа на сортировку выбора из дерева, но сортирует массив не используя дополнительный ресурс памяти. Для этого дерево сохраняем в исходном массиве по следующим правилам:

Отцом к является узел [k/2]
Потомками узла к являются 2к и 2к+1

Пирамидой будем называть дерево удовлетворяющие написаным выше правилам и к ним еще плюс:
k[j/2]&#62;=k[j]
1&#60;=[j/2]&#60;j&#60;=N

Procedure shift(L,R: integer);
var
i,j:integer;
x: integer;
Begin
i:=L;
j:=2*L;
x:=A[L];
if (j&#60;R) and (A[j]&#60;A[j+1]) then
j:=j+1;
while [...]]]></description>
			<content:encoded><![CDATA[<p>Эта сортировка похожа на сортировку выбора из дерева, но сортирует массив не используя дополнительный ресурс памяти. Для этого дерево сохраняем в исходном массиве по следующим правилам:</p>
<ul>
<li>Отцом <strong>к</strong> является узел <strong>[k/2]</strong></li>
<li>Потомками узла <strong>к</strong> являются <strong>2к</strong> и <strong>2к+1</strong></li>
</ul>
<p>Пирамидой будем называть дерево удовлетворяющие написаным выше правилам и к ним еще плюс:</p>
<p><strong>k[j/2]&gt;=k[j]</strong></p>
<p><strong>1&lt;=[j/2]&lt;j&lt;=N</strong></p>
<p><strong><span id="more-208"></span></strong></p>
<pre style="padding-left: 30px;"><code>Procedure shift(L,R: integer);
var
i,j:integer;
x: integer;
Begin
i:=L;
j:=2*L;
x:=A[L];
if (j&lt;R) and (A[j]&lt;A[j+1]) then
j:=j+1;
while (j&lt;=R) and (x&lt;A[j]) do
begin
A[i]:=A[j];
i:=j;
j:=2*j;
if (j&lt;R) and (A[j]&lt;A[j+1]) then
inc(j);
end;
A[i]:=x;
end;
</code></pre>
<p>Пример исспользования:</p>
<pre style="padding-left: 30px;"><code>
L:=(N div 2)+1;
R:=N;
while L&gt;1 do
begin
L:=L-1;
shift(L,R);
end;
while (R&gt;1) do
begin
x:=A[1];
A[1]:=A[R];
A[R]:=x;
R:=R-1;
shift(L,R);
end;
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/piramidalnaya-sortirovka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

