<?xml version="1.0" encoding="windows-1252"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Giovanni Di Grezia - VFX Artist Forum - C</title>
		<link>https://www.xgiovio.com/forum/</link>
		<description />
		<language>en</language>
		<lastBuildDate>Mon, 25 May 2026 04:26:53 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>images/misc/rss.png</url>
			<title>Giovanni Di Grezia - VFX Artist Forum - C</title>
			<link>https://www.xgiovio.com/forum/</link>
		</image>
		<item>
			<title>Bitbucket Source</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/network-course-unisa-multiple-exercises/516-bitbucket-source</link>
			<pubDate>Sat, 15 Mar 2014 12:53:55 GMT</pubDate>
			<description><![CDATA[https://bitbucket.org/xgiovio/unisa_lab_reti_2013_2014 
Pacchetti creati durante le lezioni in laboratorio del corso di reti presso l'università di...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">https</span><span style="color: #007700">:</span><span style="color: #FF8000">//bitbucket.org/xgiovio/unisa_lab_reti_2013_2014&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Pacchetti creati durante le lezioni in laboratorio del corso di reti presso l'università di Salerno. Docente: Cicalese. II anno, II semestre. Classe dispari 2013/2014. Per bug o info --&gt; <a href="mailto:xgiovio@gmail.com">xgiovio@gmail.com</a>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c/network-course-unisa-multiple-exercises">Networking - UNISA - Course 2013 -2014 - Multiple Structures and Exercises</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/network-course-unisa-multiple-exercises/516-bitbucket-source</guid>
		</item>
		<item>
			<title><![CDATA[[os] sync 4 processes ( n ) with shared memory and mutex locking ( atomic access )]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/114-os-sync-4-processes-n-with-shared-memory-and-mutex-locking-atomic-access</link>
			<pubDate>Tue, 04 Jun 2013 22:06:02 GMT</pubDate>
			<description><![CDATA[#include &lt;sys/ipc.h&gt; 
#include &lt;sys/shm.h&gt; 
#include &lt;st***.h&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;stdlib.h&gt; 
#include &lt;errno.h&gt; 
#include &lt;pthread.h&gt;...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;sys/ipc.h&gt;<br />#include&nbsp;&lt;sys/shm.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;errno.h&gt;<br />#include&nbsp;&lt;pthread.h&gt;<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process&nbsp;syncronization&nbsp;between&nbsp;4&nbsp;processes<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;processes&nbsp;will&nbsp;decrement&nbsp;a&nbsp;variable&nbsp;&nbsp;of&nbsp;1&nbsp;unit&nbsp;50000&nbsp;times<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Other&nbsp;2&nbsp;processes&nbsp;will&nbsp;increment&nbsp;the&nbsp;same&nbsp;variable&nbsp;of&nbsp;1&nbsp;unit&nbsp;50000&nbsp;times<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;result&nbsp;is&nbsp;0&nbsp;using&nbsp;mutex&nbsp;in&nbsp;a&nbsp;shared&nbsp;memory.<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Typical&nbsp;Output:<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;1&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;incrementing&nbsp;the&nbsp;shared&nbsp;variable<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;2&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;decrement&nbsp;the&nbsp;shared&nbsp;variable..<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;4&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;decrement&nbsp;the&nbsp;shared&nbsp;variable..<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;3&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;increment&nbsp;the&nbsp;shared&nbsp;variable..<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;2&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;decrementing&nbsp;the&nbsp;shared&nbsp;variable<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;4&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;decrement&nbsp;the&nbsp;shared&nbsp;variable..<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;3&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;incrementing&nbsp;the&nbsp;shared&nbsp;variable<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm&nbsp;process&nbsp;4&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;decrementing&nbsp;the&nbsp;shared&nbsp;variable<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numero&nbsp;finale&nbsp;&nbsp;:0<br />&nbsp;*/<br /><br />#define&nbsp;SHMSZ&nbsp;500<br />#define&nbsp;KEY&nbsp;9999<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;shmid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmdet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmcontrol</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////creazione&nbsp;memoria&nbsp;condivisa<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmget&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">KEY</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">SHMSZ</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">IPC_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">IPC_EXCL&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">660</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;creare&nbsp;segmento&nbsp;condiviso\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////&nbsp;attacco&nbsp;memoria&nbsp;condivisa&nbsp;a&nbsp;spazio&nbsp;processo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmat&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;modificare&nbsp;spazio&nbsp;indirizzi&nbsp;processo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////////&nbsp;setting&nbsp;uo&nbsp;variables&nbsp;in&nbsp;shared&nbsp;memory&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">waiting</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">shared_variable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shared_variable&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">shared_variable&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pthread_mutex_t&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;mutex&nbsp;variable<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_mute_x&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">pthread_mutex_t&nbsp;</span><span style="color: #007700">*)(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pthread_mutex_init</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;mutex&nbsp;initialized<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////////////////&nbsp;begin&nbsp;fork&nbsp;/////////////////////////////////////////////////////////<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;key</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;current</span><span style="color: #007700">,</span><span style="color: #0000BB">next</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;pid1</span><span style="color: #007700">,</span><span style="color: #0000BB">pid2</span><span style="color: #007700">,</span><span style="color: #0000BB">pid3</span><span style="color: #007700">,</span><span style="color: #0000BB">pid4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid1&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">))&nbsp;==&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key&nbsp;</span><span style="color: #007700">=&nbsp;(int)&nbsp;(</span><span style="color: #0000BB">pthread_mutex_trylock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;1&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;increment&nbsp;the&nbsp;shared&nbsp;variable..\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;1&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;incrementing&nbsp;the&nbsp;shared&nbsp;variable\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">))&nbsp;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">shared_variable</span><span style="color: #007700">))++;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">next</span><span style="color: #007700">!=</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;!(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">));)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">current</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pthread_mutex_unlock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">))=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid2&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">))&nbsp;==&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key&nbsp;</span><span style="color: #007700">=&nbsp;(int)&nbsp;(</span><span style="color: #0000BB">pthread_mutex_trylock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;2&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;decrement&nbsp;the&nbsp;shared&nbsp;variable..\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;2&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;decrementing&nbsp;the&nbsp;shared&nbsp;variable\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">))&nbsp;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">shared_variable</span><span style="color: #007700">))--;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">next</span><span style="color: #007700">!=</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;!(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">));)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">current</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pthread_mutex_unlock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">))=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid3&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">))&nbsp;==&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key&nbsp;</span><span style="color: #007700">=&nbsp;(int)&nbsp;(</span><span style="color: #0000BB">pthread_mutex_trylock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;3&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;increment&nbsp;the&nbsp;shared&nbsp;variable..\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;3&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;incrementing&nbsp;the&nbsp;shared&nbsp;variable\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">))&nbsp;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">shared_variable</span><span style="color: #007700">))++;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">next</span><span style="color: #007700">!=</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;!(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">));)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">current</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pthread_mutex_unlock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">))=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid4&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">))&nbsp;==&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">key&nbsp;</span><span style="color: #007700">=&nbsp;(int)&nbsp;(</span><span style="color: #0000BB">pthread_mutex_trylock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">key</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;4&nbsp;and&nbsp;i'm&nbsp;waiting&nbsp;to&nbsp;decrement&nbsp;the&nbsp;shared&nbsp;variable..\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"I'm&nbsp;process&nbsp;4&nbsp;and&nbsp;i&nbsp;have&nbsp;the&nbsp;control&nbsp;NOW!&nbsp;I'm&nbsp;decrementing&nbsp;the&nbsp;shared&nbsp;variable\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">))&nbsp;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">shared_variable</span><span style="color: #007700">))--;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">next</span><span style="color: #007700">!=</span><span style="color: #0000BB">current&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;!(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">));)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">current</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pthread_mutex_unlock</span><span style="color: #007700">(</span><span style="color: #0000BB">x_mute_x</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">waiting&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">))=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;waiterr</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waiterr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">waiterr&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waiterr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #DD0000">"Numero&nbsp;finale&nbsp;&nbsp;:%d\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">shared_variable</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">4</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmctl&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,</span><span style="color: #0000BB">IPC_RMID</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;settare&nbsp;memoria&nbsp;condivisa&nbsp;per&nbsp;eliminazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">5</span><span style="color: #007700">);}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/114-os-sync-4-processes-n-with-shared-memory-and-mutex-locking-atomic-access</guid>
		</item>
		<item>
			<title><![CDATA[[os] Different results - Fork with and without Peterson syncronization]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/113-os-different-results-fork-with-and-without-peterson-syncronization</link>
			<pubDate>Sat, 25 May 2013 14:19:05 GMT</pubDate>
			<description>Lo scopo è di fare una fork. Il figlio incrementerà una variabile settata a 0 in memoria condivisa di 1 unita 50mila volte. Il padre invece la...</description>
			<content:encoded><![CDATA[Lo scopo è di fare una fork. Il figlio incrementerà una variabile settata a 0 in memoria condivisa di 1 unita 50mila volte. Il padre invece la decrementerà.<br />
Il risultato dovrebbe essere 0 poiche 0 + 50000 - 50000 = 0<br />
A causa del timesharing, del processo a singolo thread e per la sovrascrittura dei registri del processore durante i cambi di contesto questo non accadrà.<br />
Provare ad eseguire il primo codice piu volte e si vedranno continue variazioni di valore.<br />
Nel secondo codice invece questo non avverrà.<br />
<br />
Nessuna sincronizzazione<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;sys/ipc.h&gt;<br />#include&nbsp;&lt;sys/shm.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;errno.h&gt;<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Critical&nbsp;sections&nbsp;between&nbsp;parent&nbsp;and&nbsp;child&nbsp;-&nbsp;fork()<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parent&nbsp;will&nbsp;decrement&nbsp;a&nbsp;variable&nbsp;&nbsp;of&nbsp;1&nbsp;unit&nbsp;50000&nbsp;times<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Child&nbsp;will&nbsp;increment&nbsp;the&nbsp;same&nbsp;variable&nbsp;of&nbsp;1&nbsp;unit&nbsp;50000&nbsp;times<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;result&nbsp;should&nbsp;be&nbsp;0&nbsp;but&nbsp;this&nbsp;isn't&nbsp;true.<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Without&nbsp;syncronization&nbsp;the&nbsp;result&nbsp;is&nbsp;unpredictable.<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />#define&nbsp;SHMSZ&nbsp;100<br />#define&nbsp;KEY&nbsp;9999<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;shmid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmdet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmcontrol</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////creazione&nbsp;memoria&nbsp;condivisa<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmget&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">KEY</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">SHMSZ</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">IPC_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">IPC_EXCL&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">660</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;creare&nbsp;segmento&nbsp;condiviso\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////&nbsp;attacco&nbsp;memoria&nbsp;condivisa&nbsp;a&nbsp;spazio&nbsp;processo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmat&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;modificare&nbsp;spazio&nbsp;indirizzi&nbsp;processo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////&nbsp;begin&nbsp;fork&nbsp;/////////////////////////////////////////////////////////<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;pid</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">))++;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">))--;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #DD0000">"Numero&nbsp;:%d\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">4</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmctl&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,</span><span style="color: #0000BB">IPC_RMID</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;settare&nbsp;memoria&nbsp;condivisa&nbsp;per&nbsp;eliminazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">5</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Sincronizzazione di Peterson<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;sys/ipc.h&gt;<br />#include&nbsp;&lt;sys/shm.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;errno.h&gt;<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process&nbsp;syncronization&nbsp;between&nbsp;parent&nbsp;and&nbsp;child&nbsp;-&nbsp;fork()<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parent&nbsp;will&nbsp;decrement&nbsp;a&nbsp;variable&nbsp;&nbsp;of&nbsp;1&nbsp;unit&nbsp;50000&nbsp;times<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Child&nbsp;will&nbsp;increment&nbsp;the&nbsp;same&nbsp;variable&nbsp;of&nbsp;1&nbsp;unit&nbsp;50000&nbsp;times<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;result&nbsp;is&nbsp;0&nbsp;using&nbsp;Peterson&nbsp;Algorithm&nbsp;to&nbsp;syncronize&nbsp;processes.&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />#define&nbsp;SHMSZ&nbsp;100<br />#define&nbsp;KEY&nbsp;9999<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;shmid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmdet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmcontrol</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////creazione&nbsp;memoria&nbsp;condivisa<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmget&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">KEY</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">SHMSZ</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">IPC_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">IPC_EXCL&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">660</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;creare&nbsp;segmento&nbsp;condiviso\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////&nbsp;attacco&nbsp;memoria&nbsp;condivisa&nbsp;a&nbsp;spazio&nbsp;processo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmat&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;modificare&nbsp;spazio&nbsp;indirizzi&nbsp;processo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">flag</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">///&nbsp;signal&nbsp;that&nbsp;process&nbsp;wants&nbsp;to&nbsp;go&nbsp;into&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">turn</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">turn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////&nbsp;begin&nbsp;fork&nbsp;/////////////////////////////////////////////////////////<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;pid</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;processo&nbsp;figlio&nbsp;vuole&nbsp;andare&nbsp;in&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">turn</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;turno&nbsp;del&nbsp;processo&nbsp;padre<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(;(*</span><span style="color: #0000BB">turn</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;*(</span><span style="color: #0000BB">flag</span><span style="color: #007700">)==</span><span style="color: #0000BB">1</span><span style="color: #007700">;)&nbsp;{</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);}&nbsp;</span><span style="color: #FF8000">//&nbsp;attendo&nbsp;che&nbsp;il&nbsp;processo&nbsp;padre&nbsp;esca&nbsp;dalla&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">))++;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">flag</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;processo&nbsp;padre&nbsp;vuole&nbsp;andare&nbsp;in&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">turn</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;turno&nbsp;del&nbsp;processo&nbsp;figlio<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(;(*</span><span style="color: #0000BB">turn</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;*(</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)==</span><span style="color: #0000BB">1</span><span style="color: #007700">;)&nbsp;{</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);}&nbsp;</span><span style="color: #FF8000">//&nbsp;attendo&nbsp;che&nbsp;il&nbsp;processo&nbsp;figlio&nbsp;esca&nbsp;dalla&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">50000</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){(*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">))--;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">flag</span><span style="color: #007700">)=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #DD0000">"Numero&nbsp;:%d\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">4</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmctl&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,</span><span style="color: #0000BB">IPC_RMID</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;settare&nbsp;memoria&nbsp;condivisa&nbsp;per&nbsp;eliminazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">5</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/113-os-different-results-fork-with-and-without-peterson-syncronization</guid>
		</item>
		<item>
			<title><![CDATA[[os] sincronizzazione di 2 processi ( fork) usando shared memory e  Peterson]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/112-os-sincronizzazione-di-2-processi-fork-usando-shared-memory-e-peterson</link>
			<pubDate>Sat, 25 May 2013 14:03:38 GMT</pubDate>
			<description><![CDATA[#include &lt;sys/ipc.h&gt; 
#include &lt;sys/shm.h&gt; 
#include &lt;st***.h&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;stdlib.h&gt; 
#include &lt;errno.h&gt; 
 
/*** 
 *          ...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;sys/ipc.h&gt;<br />#include&nbsp;&lt;sys/shm.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;errno.h&gt;<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process&nbsp;syncronization&nbsp;between&nbsp;parent&nbsp;and&nbsp;child&nbsp;-&nbsp;fork()<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shared&nbsp;Memory&nbsp;and&nbsp;Critical&nbsp;Sections&nbsp;+&nbsp;Peterson&nbsp;Solution&nbsp;(&nbsp;2&nbsp;processes)<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />#define&nbsp;SHMSZ&nbsp;100<br />#define&nbsp;KEY&nbsp;9999<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;shmid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmdet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmcontrol</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////creazione&nbsp;memoria&nbsp;condivisa<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmget&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">KEY</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">SHMSZ</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">IPC_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">IPC_EXCL&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">660</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;creare&nbsp;segmento&nbsp;condiviso\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////&nbsp;attacco&nbsp;memoria&nbsp;condivisa&nbsp;a&nbsp;spazio&nbsp;processo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmat&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;modificare&nbsp;spazio&nbsp;indirizzi&nbsp;processo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">flag</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">///&nbsp;signal&nbsp;that&nbsp;process&nbsp;wants&nbsp;to&nbsp;go&nbsp;into&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">turn</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">turn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////&nbsp;begin&nbsp;fork&nbsp;/////////////////////////////////////////////////////////<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;pid</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;processo&nbsp;figlio&nbsp;vuole&nbsp;andare&nbsp;in&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">turn</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;turno&nbsp;del&nbsp;processo&nbsp;padre<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(;(*</span><span style="color: #0000BB">turn</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;*(</span><span style="color: #0000BB">flag</span><span style="color: #007700">)==</span><span style="color: #0000BB">1</span><span style="color: #007700">;)&nbsp;{</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);}&nbsp;</span><span style="color: #FF8000">//&nbsp;attendo&nbsp;che&nbsp;il&nbsp;processo&nbsp;padre&nbsp;esca&nbsp;dalla&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">flag</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;processo&nbsp;padre&nbsp;vuole&nbsp;andare&nbsp;in&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">turn</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;turno&nbsp;del&nbsp;processo&nbsp;figlio<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(;(*</span><span style="color: #0000BB">turn</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;*(</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)==</span><span style="color: #0000BB">1</span><span style="color: #007700">;)&nbsp;{</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);}&nbsp;</span><span style="color: #FF8000">//&nbsp;attendo&nbsp;che&nbsp;il&nbsp;processo&nbsp;figlio&nbsp;esca&nbsp;dalla&nbsp;sezione&nbsp;critica<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">flag</span><span style="color: #007700">)=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">4</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmctl&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,</span><span style="color: #0000BB">IPC_RMID</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;settare&nbsp;memoria&nbsp;condivisa&nbsp;per&nbsp;eliminazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">5</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/112-os-sincronizzazione-di-2-processi-fork-usando-shared-memory-e-peterson</guid>
		</item>
		<item>
			<title><![CDATA[[os] sezione critica tra padre e figlio ( fork ) usando shared memory]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/111-os-sezione-critica-tra-padre-e-figlio-fork-usando-shared-memory</link>
			<pubDate>Sat, 25 May 2013 12:49:05 GMT</pubDate>
			<description><![CDATA[#include &lt;sys/ipc.h&gt; 
#include &lt;sys/shm.h&gt; 
#include &lt;st***.h&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;stdlib.h&gt; 
#include &lt;errno.h&gt; 
 
/*** 
 *          ...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;sys/ipc.h&gt;<br />#include&nbsp;&lt;sys/shm.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;errno.h&gt;<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shared&nbsp;Memory&nbsp;and&nbsp;Critical&nbsp;Sections&nbsp;between&nbsp;parent&nbsp;and&nbsp;child&nbsp;-&nbsp;fork()<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />#define&nbsp;SHMSZ&nbsp;100<br />#define&nbsp;KEY&nbsp;9999<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;shmid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmdet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">shmcontrol</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_area</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////creazione&nbsp;memoria&nbsp;condivisa<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmget&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">KEY</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">SHMSZ</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">IPC_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">IPC_EXCL&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">660</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmid&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;creare&nbsp;segmento&nbsp;condiviso\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////&nbsp;attacco&nbsp;memoria&nbsp;condivisa&nbsp;a&nbsp;spazio&nbsp;processo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmat&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;modificare&nbsp;spazio&nbsp;indirizzi&nbsp;processo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">new_area&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////&nbsp;begin&nbsp;fork&nbsp;/////////////////////////////////////////////////////////<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;pid</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;child&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//precritical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;begin&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////////&nbsp;end&nbsp;critical&nbsp;section&nbsp;parent&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;post&nbsp;critical&nbsp;section<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmdet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmdt&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmatt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmatt&nbsp;</span><span style="color: #007700">==&nbsp;(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;detachare&nbsp;memoria&nbsp;condivisa\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">4</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">shmctl&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">shmid</span><span style="color: #007700">,</span><span style="color: #0000BB">IPC_RMID</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">shmcontrol&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;settare&nbsp;memoria&nbsp;condivisa&nbsp;per&nbsp;eliminazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">5</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/111-os-sezione-critica-tra-padre-e-figlio-fork-usando-shared-memory</guid>
		</item>
		<item>
			<title><![CDATA[[os] sezione critica mediante file]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/110-os-sezione-critica-mediante-file</link>
			<pubDate>Sun, 19 May 2013 09:08:45 GMT</pubDate>
			<description><![CDATA[#include &lt;stdlib.h&gt; 
#include &lt;unistd.h&gt; 
#include &lt;errno.h&gt; 
#include &lt;sys/stat.h&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;fcntl.h&gt; 
#include &lt;st***.h&gt; 
...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;unistd.h&gt;<br />#include&nbsp;&lt;errno.h&gt;<br />#include&nbsp;&lt;sys/stat.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;fcntl.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br /><br />/***<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;Simulazione&nbsp;di&nbsp;gestione&nbsp;sezione&nbsp;critica&nbsp;mediante&nbsp;uso&nbsp;di&nbsp;file<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*<br />&nbsp;****/<br />#define&nbsp;PATH&nbsp;"/tmp/lock"<br />#define&nbsp;TRY&nbsp;5<br /><br /></span><span style="color: #0000BB">int&nbsp;check&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;fd</span><span style="color: #007700">,</span><span style="color: #0000BB">t</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fd</span><span style="color: #007700">=</span><span style="color: #0000BB">open</span><span style="color: #007700">(</span><span style="color: #0000BB">PATH</span><span style="color: #007700">,</span><span style="color: #0000BB">O_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_RDWR&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_EXCL</span><span style="color: #007700">,</span><span style="color: #0000BB">00751</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">fd&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">t</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;</span><span style="color: #0000BB">fd</span><span style="color: #007700">==-</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">err&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">EEXIST&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">t&nbsp;</span><span style="color: #007700">&lt;=&nbsp;TRY;</span><span style="color: #0000BB">t</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fd</span><span style="color: #007700">=</span><span style="color: #0000BB">open</span><span style="color: #007700">(</span><span style="color: #0000BB">PATH</span><span style="color: #007700">,</span><span style="color: #0000BB">O_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_RDWR&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_EXCL</span><span style="color: #007700">,</span><span style="color: #0000BB">00751</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=</span><span style="color: #0000BB">errno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">fd&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;}&nbsp;else&nbsp;{return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;return_check&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">unlink</span><span style="color: #007700">(</span><span style="color: #0000BB">PATH</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">err&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Impossibile&nbsp;controllare&nbsp;semaforo&nbsp;dopo&nbsp;sezione&nbsp;critica\n"</span><span style="color: #007700">);&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">check</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*//////////////////&nbsp;sezione&nbsp;critica&nbsp;/////////*/&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Sezione&nbsp;critica&nbsp;eseguita\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">return_check</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Impossibile&nbsp;entrare&nbsp;in&nbsp;sezione&nbsp;critica\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/110-os-sezione-critica-mediante-file</guid>
		</item>
		<item>
			<title><![CDATA[[os] exam 2 - 3 childer - fibonacci - SIGINT handler]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/109-os-exam-2-3-childer-fibonacci-sigint-handler</link>
			<pubDate>Fri, 17 May 2013 17:44:11 GMT</pubDate>
			<description><![CDATA[#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
#include &lt;signal.h&gt; 
 
/* 
 *               _            _                           
 *              (_)   ...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;signal.h&gt;<br /><br />/*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;-&nbsp;0512101xxx<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////&nbsp;SECONDA&nbsp;PROVA&nbsp;INTERCORSO&nbsp;//////<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Advanced&nbsp;Edition<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br /></span><span style="color: #0000BB">int&nbsp;fibonacci&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">){&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;}&nbsp;else&nbsp;{&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{&nbsp;return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(</span><span style="color: #0000BB">fibonacci</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #0000BB">fibonacci&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;null_action&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;signal</span><span style="color: #007700">)&nbsp;{}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;action&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;signal</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;pid</span><span style="color: #007700">,</span><span style="color: #0000BB">status</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">char&nbsp;character</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Pid&nbsp;padre&nbsp;%d&nbsp;\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">getppid</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Terminare?\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fscanf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">,</span><span style="color: #DD0000">"%c"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">character</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">character&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'y'</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">kill&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">getppid</span><span style="color: #007700">(),</span><span style="color: #0000BB">SIGKILL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">kill&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">getpid</span><span style="color: #007700">(),</span><span style="color: #0000BB">SIGKILL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">kill&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">getppid</span><span style="color: #007700">(),</span><span style="color: #0000BB">SIGCONT</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">kill&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">getpid</span><span style="color: #007700">(),</span><span style="color: #0000BB">SIGSTOP</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;pid</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">,</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">err</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;sigaction&nbsp;sigintaction</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigintaction</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_handler</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null_action</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigintaction</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_flags</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigaction&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">SIGINT</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">sigintaction</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pid</span><span style="color: #007700">=</span><span style="color: #0000BB">fork</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">/*&nbsp;errore&nbsp;*/&nbsp;</span><span style="color: #007700">exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">pid&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigintaction</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_handler</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">action</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigaction&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">SIGINT</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">sigintaction</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;sigaction&nbsp;sigusr1action</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigusr1action</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_handler</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null_action</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigusr1action</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_flags</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigaction&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">SIGUSR1</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">sigusr1action</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">300</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Fib&nbsp;%d\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">fibonacci</span><span style="color: #007700">(</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">err&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">pid</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Figlio&nbsp;con&nbsp;pid&nbsp;%d&nbsp;terminato\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">pid</span><span style="color: #007700">);&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/109-os-exam-2-3-childer-fibonacci-sigint-handler</guid>
		</item>
		<item>
			<title><![CDATA[[os] linode - list files in a directory with inode number]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/108-os-linode-list-files-in-a-directory-with-inode-number</link>
			<pubDate>Fri, 03 May 2013 13:52:07 GMT</pubDate>
			<description><![CDATA[#include &lt;stdlib.h&gt; 
#include &lt;sys/stat.h&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;unistd.h&gt; 
#include &lt;dirent.h&gt; 
#include &lt;st***.h&gt; 
#include &lt;string.h&gt;...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;sys/stat.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;unistd.h&gt;<br />#include&nbsp;&lt;dirent.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br />/*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;files&nbsp;in&nbsp;a&nbsp;directory&nbsp;with&nbsp;relative&nbsp;inode&nbsp;number<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Usage:&nbsp;linode&nbsp;&lt;directory&gt;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v1.0<br />&nbsp;*<br />&nbsp;*/<br /><br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;contents&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;name</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">255</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;node_number</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;contents&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000BB">contents_struct</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">getdata&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;number</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">contents_struct</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;di&nbsp;allocazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strcpy&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">punt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">name</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">node_number&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">number</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">add_to_list&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*&nbsp;list,&nbsp;</span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(list==</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;list;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">strcmp&nbsp;</span><span style="color: #007700">(list-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">)&nbsp;&gt;&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;list;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list=</span><span style="color: #0000BB">t_list</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;list;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list-&gt;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">add_to_list&nbsp;</span><span style="color: #007700">(&nbsp;list-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;list;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;n_entry&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">name_entry</span><span style="color: #007700">)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">n_entry&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">){return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;};<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;stat&nbsp;file_info</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DIR&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">directory</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;dirent&nbsp;&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">dir_entry</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;err</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">array&nbsp;&#91;</span><span style="color: #0000BB">1000</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*&nbsp;list;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">contents_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">directory&nbsp;</span><span style="color: #007700">=&nbsp;&nbsp;</span><span style="color: #0000BB">opendir&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">name_entry&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">directory&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Impossibile&nbsp;aprire&nbsp;directory\n"</span><span style="color: #007700">);&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">dir_entry&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">readdir</span><span style="color: #007700">(</span><span style="color: #0000BB">directory</span><span style="color: #007700">);&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dir_entry&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dir_entry&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">readdir</span><span style="color: #007700">(</span><span style="color: #0000BB">directory</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strcpy&nbsp;</span><span style="color: #007700">(&nbsp;array,&nbsp;*(</span><span style="color: #0000BB">name_entry&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;*(array+</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(*(array+</span><span style="color: #0000BB">i</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">)!=</span><span style="color: #DD0000">'/'</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strcat&nbsp;</span><span style="color: #007700">(&nbsp;array,&nbsp;</span><span style="color: #DD0000">"/"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strcat&nbsp;</span><span style="color: #007700">(&nbsp;array,&nbsp;</span><span style="color: #0000BB">dir_entry</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">d_name</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">err&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stat&nbsp;</span><span style="color: #007700">(array,&nbsp;&amp;</span><span style="color: #0000BB">file_info&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">err&nbsp;</span><span style="color: #007700">==&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">){&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Errore&nbsp;lettura&nbsp;file\n"</span><span style="color: #007700">);&nbsp;exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">=</span><span style="color: #0000BB">getdata</span><span style="color: #007700">(</span><span style="color: #0000BB">dir_entry</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">d_name</span><span style="color: #007700">,&nbsp;(int)(</span><span style="color: #0000BB">file_info</span><span style="color: #007700">.</span><span style="color: #0000BB">st_ino</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;</span><span style="color: #0000BB">add_to_list</span><span style="color: #007700">(list,&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">t_list</span><span style="color: #007700">=list;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">!=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">=</span><span style="color: #0000BB">t_list</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"%s&nbsp;-&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">t_list</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">,</span><span style="color: #0000BB">t_list</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">node_number</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/108-os-linode-list-files-in-a-directory-with-inode-number</guid>
		</item>
		<item>
			<title><![CDATA[Monetina falsata [giochino]]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/106-monetina-falsata-giochino</link>
			<pubDate>Tue, 23 Apr 2013 19:09:08 GMT</pubDate>
			<description><![CDATA[/* 
Avendo una monetina falsata riuscire a bilanciare la possibilità di 
uscita di testa(0) e di croce(1). 
*/ 
#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt;...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />Avendo&nbsp;una&nbsp;monetina&nbsp;falsata&nbsp;riuscire&nbsp;a&nbsp;bilanciare&nbsp;la&nbsp;possibilità&nbsp;di<br />uscita&nbsp;di&nbsp;testa(0)&nbsp;e&nbsp;di&nbsp;croce(1).<br />*/<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;time.h&gt;<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;monetina_cattiva</span><span style="color: #007700">(){<br /></span><span style="color: #0000BB">int&nbsp;indice</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;possibilita</span><span style="color: #007700">&#91;&#93;=&nbsp;{</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">};<br /><br /></span><span style="color: #0000BB">double&nbsp;random_number&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">rand</span><span style="color: #007700">()&nbsp;/&nbsp;(double)</span><span style="color: #0000BB">RAND_MAX</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">indice&nbsp;</span><span style="color: #007700">=&nbsp;&nbsp;</span><span style="color: #0000BB">random_number&nbsp;</span><span style="color: #007700">*=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;<br />return&nbsp;</span><span style="color: #0000BB">possibilita</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">indice</span><span style="color: #007700">&#93;;<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;monetina_buona</span><span style="color: #007700">(){<br /></span><span style="color: #0000BB">int&nbsp;a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">monetina_cattiva</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">int&nbsp;b&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">monetina_cattiva</span><span style="color: #007700">();<br />while(</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">)<br />{<br /></span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">monetina_cattiva</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">b&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">monetina_cattiva</span><span style="color: #007700">();<br />}<br />if(</span><span style="color: #0000BB">a</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />else<br />return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">main</span><span style="color: #007700">(){<br /></span><span style="color: #0000BB">srand</span><span style="color: #007700">(</span><span style="color: #0000BB">time</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">int&nbsp;numero_test&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1000</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;teste&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />for(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">numero_test</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br /><br /></span><span style="color: #0000BB">int&nbsp;risultato&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">monetina_buona</span><span style="color: #007700">();<br />if&nbsp;(</span><span style="color: #0000BB">risultato&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">){<br /></span><span style="color: #0000BB">teste</span><span style="color: #007700">++;<br />}<br /><br /><br />}<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%.2f\n"</span><span style="color: #007700">,(float)</span><span style="color: #0000BB">teste</span><span style="color: #007700">/</span><span style="color: #0000BB">numero_test</span><span style="color: #007700">);<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>TheAvenger</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/106-monetina-falsata-giochino</guid>
		</item>
		<item>
			<title><![CDATA[[os] read directory entries]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/105-os-read-directory-entries</link>
			<pubDate>Mon, 22 Apr 2013 22:23:14 GMT</pubDate>
			<description><![CDATA[#include &lt;unistd.h&gt; 
#include &lt;dirent.h&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
 
/*** 
 *               _            _   ...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;unistd.h&gt;<br />#include&nbsp;&lt;dirent.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Utilizzo&nbsp;:&nbsp;directory&nbsp;&#91;nome-directory&#93;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stampa&nbsp;su&nbsp;stdout&nbsp;tutti&nbsp;i&nbsp;file/cartelle&nbsp;contenuti&nbsp;in&nbsp;nome-directory<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;n_values</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">values&nbsp;&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DIR&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">directory</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;dirent&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">dir_entry</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">directory&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">opendir</span><span style="color: #007700">(*(</span><span style="color: #0000BB">values&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">directory&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Impossibile&nbsp;leggere&nbsp;directory&nbsp;%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">values&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"La&nbsp;directory&nbsp;%s&nbsp;contienre&nbsp;le&nbsp;seguenti&nbsp;entry:\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">values&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;</span><span style="color: #0000BB">dir_entry&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">readdir</span><span style="color: #007700">(</span><span style="color: #0000BB">directory</span><span style="color: #007700">);&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dir_entry&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dir_entry&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">readdir</span><span style="color: #007700">(</span><span style="color: #0000BB">directory</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"--&nbsp;%s\n"</span><span style="color: #007700">,(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;&amp;(</span><span style="color: #0000BB">dir_entry</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">d_name</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">closedir</span><span style="color: #007700">(</span><span style="color: #0000BB">directory</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/105-os-read-directory-entries</guid>
		</item>
		<item>
			<title><![CDATA[[os] sleep emulated via alarm + pause - makefile]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/104-os-sleep-emulated-via-alarm-pause-makefile</link>
			<pubDate>Mon, 22 Apr 2013 07:11:26 GMT</pubDate>
			<description><![CDATA[main 
 
/* 
 * 
 * 
 *  Sample Function 
 * 
 */ 
 
#include &lt;st***.h&gt;]]></description>
			<content:encoded><![CDATA[main<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;Sample&nbsp;Function<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;"main_header.h"<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;-</span><span style="color: #0000BB">1</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Dormo&nbsp;per&nbsp;2&nbsp;sec&nbsp;...\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">xsleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Eccomi.&nbsp;Dormo&nbsp;per&nbsp;altri&nbsp;2&nbsp;sec&nbsp;...\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>main_header<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">void&nbsp;xsleep&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">);&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>xsleep<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;unistd.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;signal.h&gt;<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;xsleep_action&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;signal&nbsp;</span><span style="color: #007700">){}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;xsleep&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;n&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;sigaction&nbsp;sigalrm_action</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigalrm_action</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_handler&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">xsleep_action</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigalrm_action</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_flags</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigaction</span><span style="color: #007700">(</span><span style="color: #0000BB">SIGALRM</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">sigalrm_action</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alarm</span><span style="color: #007700">(</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pause</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>makefile<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">all</span><span style="color: #007700">:</span><span style="color: #0000BB">main</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;xsleep</span><span style="color: #007700">.</span><span style="color: #0000BB">o<br />&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;exec&nbsp;main</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;xsleep</span><span style="color: #007700">.</span><span style="color: #0000BB">o<br />main</span><span style="color: #007700">.</span><span style="color: #0000BB">o</span><span style="color: #007700">:</span><span style="color: #0000BB">main</span><span style="color: #007700">.</span><span style="color: #0000BB">c&nbsp;main_header</span><span style="color: #007700">.</span><span style="color: #0000BB">h<br />&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;main</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;main</span><span style="color: #007700">.</span><span style="color: #0000BB">c<br />xsleep</span><span style="color: #007700">.</span><span style="color: #0000BB">o</span><span style="color: #007700">:</span><span style="color: #0000BB">xsleep</span><span style="color: #007700">.</span><span style="color: #0000BB">c<br />&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;xsleep</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;xsleep</span><span style="color: #007700">.</span><span style="color: #0000BB">c&nbsp;<br /></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/104-os-sleep-emulated-via-alarm-pause-makefile</guid>
		</item>
		<item>
			<title><![CDATA[[os] Signal Mangement with sigaction - SINGINT ( CTRL-D ) SAMPLE]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/103-os-signal-mangement-with-sigaction-singint-ctrl-d-sample</link>
			<pubDate>Sun, 21 Apr 2013 17:22:53 GMT</pubDate>
			<description><![CDATA[#include &lt;signal.h&gt; 
#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
 
/*** 
 *               _            _                           
 *              (_) ...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;signal.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;Alter&nbsp;SIGINT&nbsp;signal&nbsp;from&nbsp;shell.&nbsp;It&nbsp;will&nbsp;ask&nbsp;you&nbsp;if&nbsp;you&nbsp;are&nbsp;sure<br />&nbsp;*&nbsp;&nbsp;to&nbsp;kill&nbsp;the&nbsp;process.<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;v&nbsp;1.0<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*/<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;xflush&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">FILE</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">stream&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">temp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fgetc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">stream&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;&nbsp;</span><span style="color: #0000BB">temp&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #DD0000">'\n'&nbsp;</span><span style="color: #007700">;</span><span style="color: #0000BB">temp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fgetc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">stream&nbsp;</span><span style="color: #007700">)){}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">void&nbsp;ask&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;signal</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">stringa</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stringa&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">stringa&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Impossibile&nbsp;completarel'operazione\n"</span><span style="color: #007700">);exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"\nDo&nbsp;you&nbsp;want&nbsp;to&nbsp;quit&nbsp;me?&nbsp;y\\n\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fscanf</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">stdin</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"%19s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">stringa</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">xflush&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;(</span><span style="color: #0000BB">strcmp</span><span style="color: #007700">(</span><span style="color: #0000BB">stringa</span><span style="color: #007700">,</span><span style="color: #DD0000">"y"</span><span style="color: #007700">)&nbsp;!=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;&nbsp;(</span><span style="color: #0000BB">strcmp</span><span style="color: #007700">(</span><span style="color: #0000BB">stringa</span><span style="color: #007700">,</span><span style="color: #DD0000">"n"</span><span style="color: #007700">)&nbsp;!=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Wrong&nbsp;Answer&nbsp;\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fscanf</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">stdin</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"%19s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">stringa</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">xflush&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">strcmp</span><span style="color: #007700">(</span><span style="color: #0000BB">stringa</span><span style="color: #007700">,</span><span style="color: #DD0000">"y"</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Signal&nbsp;processed.&nbsp;Goodbye&nbsp;friend.&nbsp;I'm&nbsp;dying&nbsp;...\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">kill&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">getpid</span><span style="color: #007700">(),</span><span style="color: #0000BB">SIGKILL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"You&nbsp;can't&nbsp;kill&nbsp;me!\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;sigaction&nbsp;sigint_action</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigint_action</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_handler&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ask</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigint_action</span><span style="color: #007700">.</span><span style="color: #0000BB">sa_flags&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sigaction&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">SIGINT</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">sigint_action</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Press&nbsp;ctrl-c&nbsp;if&nbsp;you&nbsp;want&nbsp;to&nbsp;kill&nbsp;me....\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;-</span><span style="color: #0000BB">1</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pause&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Signal&nbsp;processed&nbsp;but&nbsp;i'm&nbsp;still&nbsp;here.&nbsp;Thank&nbsp;you.&nbsp;Press&nbsp;ctrl-c&nbsp;if&nbsp;you&nbsp;want&nbsp;to&nbsp;kill&nbsp;me\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/103-os-signal-mangement-with-sigaction-singint-ctrl-d-sample</guid>
		</item>
		<item>
			<title><![CDATA[[os] Exam 1/2 - Create 2 subprocesses and wait them]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/100-os-exam-1-2-create-2-subprocesses-and-wait-them</link>
			<pubDate>Fri, 12 Apr 2013 19:23:38 GMT</pubDate>
			<description>/* 
 *               _            _                           
 *              (_)          (_)                           
 *    __  ____ _ _  _____ ...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;-&nbsp;0512101xxx<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//////&nbsp;PRIMA&nbsp;PROVA&nbsp;INTERCORSO&nbsp;//////<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No&nbsp;CHANGES&nbsp;since&nbsp;-&nbsp;Version&nbsp;1.0<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notes:&nbsp;La&nbsp;traccia&nbsp;non&nbsp;definisce&nbsp;lo&nbsp;scheduling<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dei&nbsp;processi&nbsp;figli,&nbsp;quindi&nbsp;Ã¨&nbsp;probabile&nbsp;che&nbsp;i<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numeri&nbsp;stampati&nbsp;non&nbsp;siano&nbsp;ordinati.<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Per&nbsp;evitare&nbsp;questo&nbsp;evento,&nbsp;basterebbe&nbsp;aggiungere<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;un&nbsp;sleep&nbsp;al&nbsp;2&nbsp;processo&nbsp;figlio&nbsp;o&nbsp;attendere&nbsp;la<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;terminazione&nbsp;del&nbsp;primo&nbsp;figlio&nbsp;prima&nbsp;di&nbsp;efettuare<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;la&nbsp;seconda&nbsp;fork.<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />#include&nbsp;&lt;unistd.h&gt;<br />#include&nbsp;&lt;fcntl.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;sys/stat.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">,</span><span style="color: #0000BB">b</span><span style="color: #007700">,</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">child</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;definizione&nbsp;variabili<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">fork</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//creazione&nbsp;primo&nbsp;figlio<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Fork&nbsp;fallita\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Sono&nbsp;il&nbsp;primo&nbsp;figlio,&nbsp;il&nbsp;mio&nbsp;pid&nbsp;Ã¨&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">getpid</span><span style="color: #007700">());&nbsp;</span><span style="color: #FF8000">//&nbsp;pid&nbsp;processo&nbsp;corrente<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Numero&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;stamap&nbsp;dei&nbsp;numeri&nbsp;richiesti<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">=</span><span style="color: #0000BB">fork</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;secondo&nbsp;processo&nbsp;creato<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Fork&nbsp;fallita\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Sono&nbsp;il&nbsp;secondo&nbsp;figlio,&nbsp;il&nbsp;pid&nbsp;di&nbsp;mio&nbsp;padre&nbsp;Ã¨&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">getppid</span><span style="color: #007700">());&nbsp;</span><span style="color: #FF8000">//&nbsp;pid&nbsp;padre&nbsp;processo&nbsp;corrente<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">101</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">150&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Numero&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;stamap&nbsp;dei&nbsp;numeri&nbsp;richiesti<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;for&nbsp;per&nbsp;attendere&nbsp;il&nbsp;completamento&nbsp;di&nbsp;tutti&nbsp;i&nbsp;processi&nbsp;figli<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(&nbsp;</span><span style="color: #0000BB">child&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">waitpid&nbsp;</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">child&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">child&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">waitpid</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Figlio&nbsp;con&nbsp;pid&nbsp;%d&nbsp;terminato&nbsp;con&nbsp;errore&nbsp;%d\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">child</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;stampa&nbsp;con&nbsp;relativo&nbsp;error&nbsp;code<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/100-os-exam-1-2-create-2-subprocesses-and-wait-them</guid>
		</item>
		<item>
			<title><![CDATA[[os] v2 systems calls - Covert file 1 to file 2 inverting upper/lower cases]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/99-os-v2-systems-calls-covert-file-1-to-file-2-inverting-upper-lower-cases</link>
			<pubDate>Thu, 04 Apr 2013 20:57:33 GMT</pubDate>
			<description><![CDATA[/* 
 * 
 * 
 *  upper to lower ( and viceversa) v2 
 * 
 * 
 */ 
 
#include &lt;unistd.h&gt; 
#include &lt;st***.h&gt;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;upper&nbsp;to&nbsp;lower&nbsp;(&nbsp;and&nbsp;viceversa)&nbsp;v2<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;unistd.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;sys/stat.h&gt;<br />#include&nbsp;&lt;fcntl.h&gt;<br />#include&nbsp;&lt;ctype.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;nentry</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">names&nbsp;</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;fd1</span><span style="color: #007700">,</span><span style="color: #0000BB">fd2</span><span style="color: #007700">,</span><span style="color: #0000BB">r_bytes</span><span style="color: #007700">,</span><span style="color: #0000BB">w_bytes</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">malloc</span><span style="color: #007700">(</span><span style="color: #0000BB">100</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//impossibile&nbsp;allocare<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fd1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">open&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">names&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">),</span><span style="color: #0000BB">O_RDONLY</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">fd1&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Sorgente&nbsp;non&nbsp;presente\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;(-</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fd2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">open&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">names&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">2&nbsp;</span><span style="color: #007700">),</span><span style="color: #0000BB">O_WRONLY&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_TRUNC</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">fd2</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Creazione&nbsp;file&nbsp;destinazione&nbsp;in&nbsp;corso&nbsp;..\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fd2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">open&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">names&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">2&nbsp;</span><span style="color: #007700">),</span><span style="color: #0000BB">O_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_WRONLY</span><span style="color: #007700">,</span><span style="color: #0000BB">00700</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">fd2</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Impossibile&nbsp;creare&nbsp;file&nbsp;di&nbsp;destinazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">r_bytes</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">read</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">fd1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">r_bytes</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">r_bytes</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">read</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">fd1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">r_bytes</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">islower</span><span style="color: #007700">(*((</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">))){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">toupper</span><span style="color: #007700">(*((</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">tolower</span><span style="color: #007700">(*((</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">w_bytes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">write&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">fd2</span><span style="color: #007700">,</span><span style="color: #0000BB">buffer</span><span style="color: #007700">,</span><span style="color: #0000BB">r_bytes</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">w_bytes&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">r_bytes</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Errore&nbsp;in&nbsp;scrittura&nbsp;sul&nbsp;file&nbsp;destinazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">5</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">r_bytes&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;durante&nbsp;la&nbsp;lettura&nbsp;del&nbsp;file&nbsp;sorgente\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">6</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">close</span><span style="color: #007700">(</span><span style="color: #0000BB">fd1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">close</span><span style="color: #007700">(</span><span style="color: #0000BB">fd2</span><span style="color: #007700">);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Operazione&nbsp;completata&nbsp;senza&nbsp;errori\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/99-os-v2-systems-calls-covert-file-1-to-file-2-inverting-upper-lower-cases</guid>
		</item>
		<item>
			<title><![CDATA[[os] systems calls - Covert file 1 to file 2 inverting upper/lower cases]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/98-os-systems-calls-covert-file-1-to-file-2-inverting-upper-lower-cases</link>
			<pubDate>Sat, 23 Mar 2013 13:34:22 GMT</pubDate>
			<description><![CDATA[/* 
 * 
 * copy file 1 to file2 and invert lower with upper ( and viceversa ) 
 * 
 * 
 */ 
 
#include &lt;ctype.h&gt; 
#include &lt;fcntl.h&gt; 
#include...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;copy&nbsp;file&nbsp;1&nbsp;to&nbsp;file2&nbsp;and&nbsp;invert&nbsp;lower&nbsp;with&nbsp;upper&nbsp;(&nbsp;and&nbsp;viceversa&nbsp;)<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;ctype.h&gt;<br />#include&nbsp;&lt;fcntl.h&gt;<br />#include&nbsp;&lt;sys/types.h&gt;<br />#include&nbsp;&lt;sys/stat.h&gt;<br />#include&nbsp;&lt;unistd.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br /><br />#define&nbsp;READBYTES&nbsp;100<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;numero_arg</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">nome_arg&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;fd</span><span style="color: #007700">,</span><span style="color: #0000BB">fd2</span><span style="color: #007700">,</span><span style="color: #0000BB">n</span><span style="color: #007700">,</span><span style="color: #0000BB">status</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">buf</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////////////&nbsp;allocazione&nbsp;buffer&nbsp;temporano&nbsp;di&nbsp;swap&nbsp;tra&nbsp;read&nbsp;e&nbsp;write<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">buf&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">READBYTES</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">buf&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,</span><span style="color: #DD0000">"Impossibile&nbsp;completare&nbsp;l'operazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">6</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;(</span><span style="color: #0000BB">fd&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">open&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">nome_arg&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">),</span><span style="color: #0000BB">O_RDONLY</span><span style="color: #007700">))&nbsp;&gt;=&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fd2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">open&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">nome_arg&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">),</span><span style="color: #0000BB">O_WRONLY&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_TRUNC</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;apertura&nbsp;file<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">fd2&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;se&nbsp;non&nbsp;presente<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"File&nbsp;destinazione&nbsp;non&nbsp;presente.&nbsp;Creazione&nbsp;in&nbsp;corso&nbsp;..\n"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;crealo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fd2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">open&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">nome_arg&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">),</span><span style="color: #0000BB">O_CREAT&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">O_WRONLY</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">S_IRWXU</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">=</span><span style="color: #0000BB">read&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">fd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">READBYTES</span><span style="color: #007700">);</span><span style="color: #0000BB">n</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">n</span><span style="color: #007700">=</span><span style="color: #0000BB">read&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">fd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">READBYTES</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">buf</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////////////////////&nbsp;verifica&nbsp;se&nbsp;minuscolo&nbsp;o&nbsp;maiuscolo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">islower</span><span style="color: #007700">(*(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">))){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">toupper&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">tolower&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">status&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">write&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">fd2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">///////////////&nbsp;scrittura&nbsp;valori&nbsp;nel&nbsp;nuovo&nbsp;file<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(&nbsp;</span><span style="color: #0000BB">status&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Errore&nbsp;di&nbsp;scrittura\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">5</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"Conversione&nbsp;completata\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stdout</span><span style="color: #007700">,</span><span style="color: #DD0000">"File&nbsp;di&nbsp;origine&nbsp;non&nbsp;esistente\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/98-os-systems-calls-covert-file-1-to-file-2-inverting-upper-lower-cases</guid>
		</item>
		<item>
			<title>File</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/97-file</link>
			<pubDate>Tue, 11 Dec 2012 13:04:11 GMT</pubDate>
			<description><![CDATA[/* 
* esempio scrittura/lettura file 
*/ 
 
#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
 
int main() 
{ 
FILE *fp;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />*&nbsp;esempio&nbsp;scrittura/lettura&nbsp;file<br />*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">()<br />{<br /></span><span style="color: #0000BB">FILE&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">fp</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">nomefile&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"pippo.txt"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">nomefilebinario&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"numeri.dat"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">char&nbsp;buffer</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">1024</span><span style="color: #007700">&#93;;<br /></span><span style="color: #0000BB">int&nbsp;numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">20</span><span style="color: #007700">&#93;&nbsp;=&nbsp;{</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">6</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">};<br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #0000BB">nomefile</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"wb+"</span><span style="color: #007700">);<br /><br /><br />if(</span><span style="color: #0000BB">fp&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)<br />{<br /></span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Non&nbsp;posso&nbsp;aprire&nbsp;file&nbsp;%s&nbsp;per&nbsp;la&nbsp;scrittura\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">nomefile</span><span style="color: #007700">);<br />exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">fp</span><span style="color: #007700">,</span><span style="color: #DD0000">"Ciao.&nbsp;DALLE!\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">fp</span><span style="color: #007700">,</span><span style="color: #DD0000">"Aggiungo&nbsp;dati&nbsp;al&nbsp;file.\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">fp</span><span style="color: #007700">,</span><span style="color: #DD0000">"ho&nbsp;vergogna&nbsp;di&nbsp;te.\n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">rewind</span><span style="color: #007700">(</span><span style="color: #0000BB">fp</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//torno&nbsp;all'inizio&nbsp;o&nbsp;posso&nbsp;fare&nbsp;anche&nbsp;fseek(fp,&nbsp;0,SEEK_SET)&nbsp;invece&nbsp;per&nbsp;andare&nbsp;alla&nbsp;fine<br />&nbsp;&nbsp;&nbsp;//fseek(fp,0,SEEK_AND)<br /><br /></span><span style="color: #0000BB">fscanf</span><span style="color: #007700">(</span><span style="color: #0000BB">fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"%s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//leggo&nbsp;una&nbsp;parola<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//stampo&nbsp;la&nbsp;parola<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">fp</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//SECONDO&nbsp;FILE&nbsp;:D<br /></span><span style="color: #0000BB">fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #0000BB">nomefilebinario</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"rb+"</span><span style="color: #007700">);<br />if(</span><span style="color: #0000BB">fp&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)<br />{<br /></span><span style="color: #0000BB">fprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">stderr</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Non&nbsp;posso&nbsp;aprire&nbsp;file&nbsp;%s&nbsp;per&nbsp;la&nbsp;scrittura\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">nomefile</span><span style="color: #007700">);<br />exit(-</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">numeri</span><span style="color: #007700">,</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(int),</span><span style="color: #0000BB">20</span><span style="color: #007700">,</span><span style="color: #0000BB">fp</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">fp</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #0000BB">nomefilebinario</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"rb+"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">1</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">2</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">3</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">4</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">6</span><span style="color: #007700">&#93;=&nbsp;</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">7</span><span style="color: #007700">&#93;&nbsp;=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">fread</span><span style="color: #007700">(</span><span style="color: #0000BB">numeri</span><span style="color: #007700">,</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(int),</span><span style="color: #0000BB">20</span><span style="color: #007700">,</span><span style="color: #0000BB">fp</span><span style="color: #007700">);<br />for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">7</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)<br />{<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,</span><span style="color: #0000BB">numeri</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;);<br />}<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br /><br />return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>TheAvenger</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/97-file</guid>
		</item>
		<item>
			<title>make test</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/96-make-test</link>
			<pubDate>Sun, 09 Dec 2012 18:39:47 GMT</pubDate>
			<description><![CDATA[1.c 
 
 
#include &quot;header.h&quot; 
 
int main ( void ) { 
 
 
int a = 2;]]></description>
			<content:encoded><![CDATA[1.c<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;"header.h"<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">funct</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">);<br /><br /><br />return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>2.c<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">void&nbsp;funct&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;number&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br /><br /></span><span style="color: #0000BB">number</span><span style="color: #007700">=</span><span style="color: #0000BB">number</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /><br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>header.h<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">void&nbsp;funct&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;number&nbsp;</span><span style="color: #007700">);&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div><br />
Makefile<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">exec</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;2gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o<br />&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;exec&nbsp;1gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;2gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o<br />1gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1.c&nbsp;header</span><span style="color: #007700">.</span><span style="color: #0000BB">h<br />&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;1gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;1.c<br />2gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o</span><span style="color: #007700">:</span><span style="color: #0000BB">2.c<br />&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;2gino</span><span style="color: #007700">.</span><span style="color: #0000BB">o&nbsp;2.c&nbsp;<br /></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/96-make-test</guid>
		</item>
		<item>
			<title>list to vet ( reverse commented )</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/95-list-to-vet-reverse-commented</link>
			<pubDate>Sun, 09 Dec 2012 18:03:34 GMT</pubDate>
			<description>/*** 
 *               _            _                           
 *              (_)          (_)                           
 *    __  ____ _ _ ...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />/*<br /><br />1)lista&nbsp;di&nbsp;strutture&nbsp;(&nbsp;info,link&nbsp;),&nbsp;mettere&nbsp;ogni&nbsp;nodo&nbsp;in&nbsp;un&nbsp;vettore<br />poi&nbsp;da&nbsp;array&nbsp;a&nbsp;lista<br />(vddi&nbsp;write&nbsp;to&nbsp;disk)<br /><br />*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br /><br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;element&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">info</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;points&nbsp;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;element&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">link</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span><span style="color: #0000BB">element_struct</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">///////////////////////////&nbsp;prototypes<br /></span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;byte</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">save_list&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////&nbsp;begin<br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////&nbsp;sample&nbsp;data<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;data</span><span style="color: #007700">&#91;&#93;={<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"spada"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"scudi"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">230</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"maronna"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">450</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"prezzemolo"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////&nbsp;&nbsp;end&nbsp;sample&nbsp;data<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////&nbsp;declaration<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;input&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;vet&nbsp;returned&nbsp;from&nbsp;function&nbsp;-&nbsp;save&nbsp;this&nbsp;to&nbsp;disk<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;elements_to_save</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;number&nbsp;of&nbsp;elements&nbsp;to&nbsp;save<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;used&nbsp;to&nbsp;count<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;end&nbsp;declaration<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////&nbsp;sample&nbsp;data&nbsp;to&nbsp;list&nbsp;-&nbsp;replace&nbsp;here&nbsp;the&nbsp;source<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">data</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////&nbsp;save&nbsp;list&nbsp;to&nbsp;array&nbsp;:&nbsp;next&nbsp;step&nbsp;-&gt;&nbsp;save&nbsp;to&nbsp;disk<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">save_list&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;print&nbsp;saved&nbsp;array&nbsp;-&nbsp;debug&nbsp;only<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s&nbsp;,&nbsp;%d&nbsp;\n"</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)-&gt;&nbsp;</span><span style="color: #0000BB">info&nbsp;</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)-&gt;&nbsp;</span><span style="color: #0000BB">points&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////&nbsp;array&nbsp;to&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;/*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;int&nbsp;numero_elementi;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;element_struct&nbsp;vet&#91;leggi&nbsp;numero&nbsp;elementi&nbsp;da&nbsp;file&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;element_struct&nbsp;lista;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;numero_elementi=&nbsp;leggi&nbsp;da&nbsp;file&nbsp;il&nbsp;numero;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;carica_elementi_da_disco&nbsp;(file,vet,&nbsp;numero_elementi,&nbsp;sizeof&nbsp;(element_struct))&nbsp;//&nbsp;carica&nbsp;da&nbsp;file&nbsp;in&nbsp;vet<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;//////////////////////////&nbsp;linkiamo&nbsp;le&nbsp;strutture&nbsp;nel&nbsp;vettore&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;for&nbsp;(i=0;i&lt;numero_elementi-1;i++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(vet&nbsp;+i)-&gt;link&nbsp;=&nbsp;vet&nbsp;+&nbsp;i&nbsp;+&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(vet&nbsp;+i)-&gt;link&nbsp;=&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;lista&nbsp;=&nbsp;vet;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">save_list&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">temp_node</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////////&nbsp;conto&nbsp;il&nbsp;numero&nbsp;di&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++&nbsp;,&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">link</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////////////////&nbsp;salvo&nbsp;numero&nbsp;di&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">elements_to_save&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;alloco&nbsp;spazio&nbsp;per&nbsp;il&nbsp;blocco&nbsp;consecutivo&nbsp;di&nbsp;dati<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">element_struct</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++&nbsp;,&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">link</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">memcpy&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">element_struct</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;byte</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">byte</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;non&nbsp;sufficiente\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/95-list-to-vet-reverse-commented</guid>
		</item>
		<item>
			<title><![CDATA[list -&amp;amp;gt; vet -&amp;amp;gt; qsort ( vet ) -&amp;amp;gt; list = vet]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/94-list-gt-vet-gt-qsort-vet-gt-list-vet</link>
			<pubDate>Sun, 09 Dec 2012 18:02:09 GMT</pubDate>
			<description>/* 
 
lista non ordinata- vai i array - fai qsort ordinando vettore, 
relinca elementi vettore e restituisci il vettore come se fosse una lista...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br /><br />lista&nbsp;non&nbsp;ordinata-&nbsp;vai&nbsp;i&nbsp;array&nbsp;-&nbsp;fai&nbsp;qsort&nbsp;ordinando&nbsp;vettore,<br />relinca&nbsp;elementi&nbsp;vettore&nbsp;e&nbsp;restituisci&nbsp;il&nbsp;vettore&nbsp;come&nbsp;se&nbsp;fosse&nbsp;una&nbsp;lista&nbsp;ordinata<br /><br />*/<br /><br />/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br /><br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;element&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">info</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;points</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;element&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">link</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span><span style="color: #0000BB">element_struct</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">///////////////////////////&nbsp;prototypes<br /></span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;byte</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">save_list&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;relink&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;elements_to_save</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">int&nbsp;compara_elementi&nbsp;</span><span style="color: #007700">(&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">b</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////&nbsp;begin<br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////&nbsp;sample&nbsp;data<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;data</span><span style="color: #007700">&#91;&#93;={<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"spada"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"scudi"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">230</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"maronna"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">450</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"prezzemolo"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////&nbsp;&nbsp;end&nbsp;sample&nbsp;data<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////&nbsp;declaration<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;input&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;vet&nbsp;returned&nbsp;from&nbsp;function&nbsp;-&nbsp;save&nbsp;this&nbsp;to&nbsp;disk<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;elements_to_save</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;number&nbsp;of&nbsp;elements&nbsp;to&nbsp;save<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;used&nbsp;to&nbsp;count<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////&nbsp;end&nbsp;declaration<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////&nbsp;sample&nbsp;data&nbsp;to&nbsp;list&nbsp;-&nbsp;replace&nbsp;here&nbsp;the&nbsp;source<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">data</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////&nbsp;save&nbsp;list&nbsp;to&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">save_list&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////&nbsp;at&nbsp;this&nbsp;point&nbsp;the&nbsp;vet_to_save&nbsp;is&nbsp;ready&nbsp;to&nbsp;be&nbsp;saved&nbsp;to&nbsp;disk,&nbsp;it&nbsp;contains&nbsp;elements_to_save&nbsp;objects<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////////////////&nbsp;order&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">qsort&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">elements_to_save&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">element_struct</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">compara_elementi</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////&nbsp;at&nbsp;this&nbsp;point&nbsp;the&nbsp;vet_to_save&nbsp;is&nbsp;ready&nbsp;to&nbsp;be&nbsp;saved&nbsp;to&nbsp;disk,&nbsp;it&nbsp;contains&nbsp;elements_to_save&nbsp;objects&nbsp;ordered&nbsp;by&nbsp;info<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;////////////////////////////////////&nbsp;relink&nbsp;array&nbsp;to&nbsp;create&nbsp;a&nbsp;new&nbsp;list&nbsp;ordered<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">relink&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;print&nbsp;saved&nbsp;array&nbsp;-&nbsp;debug&nbsp;only<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s&nbsp;,&nbsp;%d&nbsp;\n"</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)-&gt;&nbsp;</span><span style="color: #0000BB">info&nbsp;</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)-&gt;&nbsp;</span><span style="color: #0000BB">points&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////////////////&nbsp;functions<br /></span><span style="color: #0000BB">void&nbsp;relink&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;elements_to_save</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">)&nbsp;-&gt;&nbsp;</span><span style="color: #0000BB">link&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">)&nbsp;-&gt;&nbsp;</span><span style="color: #0000BB">link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;compara_elementi&nbsp;</span><span style="color: #007700">(&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">b</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">ele1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">ele2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ele1&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ele2&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">strcasecmp&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">ele1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">info&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ele2</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">info</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /></span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">save_list&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">elements_to_save</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">temp_node</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////////&nbsp;conto&nbsp;il&nbsp;numero&nbsp;di&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++&nbsp;,&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">link</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////////////////&nbsp;salvo&nbsp;numero&nbsp;di&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">elements_to_save&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;alloco&nbsp;spazio&nbsp;per&nbsp;il&nbsp;blocco&nbsp;consecutivo&nbsp;di&nbsp;dati<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">element_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">element_struct</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++&nbsp;,&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">link</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">memcpy&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_to_save&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">element_struct</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">vet_to_save</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////&nbsp;xmalloc&nbsp;=&nbsp;malloc&nbsp;+&nbsp;error&nbsp;control<br /></span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;byte</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">byte</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;non&nbsp;sufficiente\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/94-list-gt-vet-gt-qsort-vet-gt-list-vet</guid>
		</item>
		<item>
			<title>Matrice Dinamica - NO Realloc</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/93-matrice-dinamica-no-realloc</link>
			<pubDate>Sun, 09 Dec 2012 17:49:57 GMT</pubDate>
			<description>/*** 
 *               _            _                           
 *              (_)          (_)                           
 *    __  ____ _ _ ...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br />/////////////////////////////////&nbsp;function&nbsp;xmalloc&nbsp;=&nbsp;malloc&nbsp;+&nbsp;NULL&nbsp;control<br /></span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;byte</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">byte</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;non&nbsp;sufficiente\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">////////////////////////////////////&nbsp;function&nbsp;crea_matrice&nbsp;=&nbsp;malloc&nbsp;data&nbsp;and&nbsp;return&nbsp;pointer&nbsp;to&nbsp;data&nbsp;block&nbsp;begin&nbsp;address<br /></span><span style="color: #0000BB">float&nbsp;</span><span style="color: #007700">**&nbsp;&nbsp;</span><span style="color: #0000BB">crea_matrice&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;righe</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;colonne</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">data</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">index</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">float&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">righe&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">colonne&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(float));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">index&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">float&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">xmalloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">righe&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">float&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">righe</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">index&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">+&nbsp;(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">colonne</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">index</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/93-matrice-dinamica-no-realloc</guid>
		</item>
		<item>
			<title>AllPrefixSum - Senator Style - Es2 - Exam</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/92-allprefixsum-senator-style-es2-exam</link>
			<pubDate>Sun, 09 Dec 2012 17:48:27 GMT</pubDate>
			<description>/*** 
 *               _            _                           
 *              (_)          (_)                           
 *    __  ____ _ _ ...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;lista&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">indirizzo</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;lista&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">prossimo</span><span style="color: #007700">;<br />}&nbsp;</span><span style="color: #0000BB">lista_struct</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">////////////////////////////////////////////&nbsp;prototypes<br /></span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">new_node&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">address</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">add_node</span><span style="color: #007700">(</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">nodo&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;allprefixsums&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;={</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">6</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*list;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">temp_node</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">list=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">8</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,&nbsp;*(</span><span style="color: #0000BB">vet&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">allprefixsums&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">8</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,&nbsp;*(</span><span style="color: #0000BB">vet&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">8</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_node&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">vet&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;</span><span style="color: #0000BB">add_node</span><span style="color: #007700">(</span><span style="color: #0000BB">temp_node</span><span style="color: #007700">,list);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;list;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">temp_node&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">temp_node</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prossimo</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Indirizzo&nbsp;nodo&nbsp;%p\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">temp_node</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">indirizzo</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////////////////////////////////////////////functions<br /><br /><br /><br /></span><span style="color: #0000BB">void&nbsp;allprefixsums&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">8</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)=&nbsp;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)+&nbsp;(*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">new_node&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">address</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">node</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">node&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">lista_struct</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">node</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">indirizzo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">address</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">node</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prossimo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">add_node</span><span style="color: #007700">(</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">nodo&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">lista_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">lista&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">nodo</span><span style="color: #007700">;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prossimo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">add_node</span><span style="color: #007700">(</span><span style="color: #0000BB">nodo</span><span style="color: #007700">,</span><span style="color: #0000BB">lista</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prossimo</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">lista</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/92-allprefixsum-senator-style-es2-exam</guid>
		</item>
		<item>
			<title>Vettore puntato ordinato - Senator Exam 1</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/91-vettore-puntato-ordinato-senator-exam-1</link>
			<pubDate>Sun, 09 Dec 2012 17:46:32 GMT</pubDate>
			<description>/*** 
 *               _            _                           
 *              (_)          (_)                           
 *    __  ____ _ _ ...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">vet_puntato_ordinato&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">int&nbsp;compara_numeri&nbsp;</span><span style="color: #007700">(&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">);<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">vet_ordinato</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;={</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">6</span><span style="color: #007700">,</span><span style="color: #0000BB">9</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">34</span><span style="color: #007700">};<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">10</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,&nbsp;*(</span><span style="color: #0000BB">vet&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_ordinato&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">vet_puntato_ordinato&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">vet</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">10</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,&nbsp;**(</span><span style="color: #0000BB">vet_ordinato&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">vet_puntato_ordinato&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">new_vet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">new_vet&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">10&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">new_vet&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;non&nbsp;disponibile\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">10</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">new_vet&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;(</span><span style="color: #0000BB">source&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">qsort&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">new_vet</span><span style="color: #007700">,</span><span style="color: #0000BB">10</span><span style="color: #007700">,</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*),</span><span style="color: #0000BB">compara_numeri</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">new_vet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;compara_numeri&nbsp;</span><span style="color: #007700">(&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">num1&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">num2&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;**</span><span style="color: #0000BB">num1&nbsp;</span><span style="color: #007700">&lt;=&nbsp;**</span><span style="color: #0000BB">num2</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/91-vettore-puntato-ordinato-senator-exam-1</guid>
		</item>
		<item>
			<title>Struct Delete - Count and Scan</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/90-struct-delete-count-and-scan</link>
			<pubDate>Wed, 05 Dec 2012 23:29:32 GMT</pubDate>
			<description>/*** 
 *               _            _                           
 *              (_)          (_)                           
 *    __  ____ _ _ ...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/***<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;____&nbsp;_&nbsp;_&nbsp;&nbsp;_____&nbsp;&nbsp;&nbsp;___&nbsp;&nbsp;___&nbsp;&nbsp;&nbsp;___&nbsp;___&nbsp;&nbsp;_&nbsp;__&nbsp;___&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;\/&nbsp;/&nbsp;_`&nbsp;|&nbsp;|/&nbsp;_&nbsp;\&nbsp;\&nbsp;/&nbsp;/&nbsp;|/&nbsp;_&nbsp;\&nbsp;/&nbsp;__/&nbsp;_&nbsp;\|&nbsp;'_&nbsp;`&nbsp;_&nbsp;\<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&lt;&nbsp;(_|&nbsp;|&nbsp;|&nbsp;(_)&nbsp;\&nbsp;V&nbsp;/|&nbsp;|&nbsp;(_)&nbsp;|&nbsp;(_|&nbsp;(_)&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;/_/\_\__,&nbsp;|_|\___/&nbsp;\_/&nbsp;|_|\___(_)___\___/|_|&nbsp;|_|&nbsp;|_|<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__/&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|___/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;*/<br /><br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br /><br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;member&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">surname</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;member&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}</span><span style="color: #0000BB">member_struct</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">loop_delete_node_from_and_count&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">keyword</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">count</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">all_list</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">delete_node_from_and_count&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">keyword</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">count</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">all_list</span><span style="color: #007700">);<br /><br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////&nbsp;begin<br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">keyword</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;count&nbsp;</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;all_list</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">member_struct&nbsp;members</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;={<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"gino"</span><span style="color: #007700">,</span><span style="color: #DD0000">"carol"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"mario"</span><span style="color: #007700">,</span><span style="color: #DD0000">"fonz"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">2</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"fonzo"</span><span style="color: #007700">,</span><span style="color: #DD0000">"cristina"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">3</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"alberto"</span><span style="color: #007700">,</span><span style="color: #DD0000">"marcopolo"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">4</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"ndonio"</span><span style="color: #007700">,</span><span style="color: #DD0000">"paolo"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">5</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"fonzetto"</span><span style="color: #007700">,</span><span style="color: #DD0000">"paolone"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">6</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"mario"</span><span style="color: #007700">,</span><span style="color: #DD0000">"paolino"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">7</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"assunta"</span><span style="color: #007700">,</span><span style="color: #DD0000">"paols"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">8</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"giovanni"</span><span style="color: #007700">,</span><span style="color: #DD0000">"mario"</span><span style="color: #007700">,(</span><span style="color: #0000BB">members</span><span style="color: #007700">+</span><span style="color: #0000BB">9</span><span style="color: #007700">)},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #DD0000">"ann"</span><span style="color: #007700">,</span><span style="color: #DD0000">"ponzio"</span><span style="color: #007700">,</span><span style="color: #0000BB">NULL</span><span style="color: #007700">}&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*list;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////////////////////////////////////&nbsp;end&nbsp;of&nbsp;init<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">list&nbsp;=&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">keyword</span><span style="color: #007700">=</span><span style="color: #DD0000">"mario"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////&nbsp;loop&nbsp;delete&nbsp;until&nbsp;all&nbsp;list&nbsp;scanned<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">list&nbsp;=&nbsp;</span><span style="color: #0000BB">loop_delete_node_from_and_count&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">keyword</span><span style="color: #007700">,</span><span style="color: #0000BB">members</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">count</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">all_list</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;keyword&nbsp;is&nbsp;the&nbsp;string&nbsp;to&nbsp;compare<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;members&nbsp;is&nbsp;the&nbsp;list&nbsp;name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&amp;count&nbsp;is&nbsp;the&nbsp;return&nbsp;address&nbsp;to&nbsp;write&nbsp;delete&nbsp;actions&nbsp;number<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&amp;all_list&nbsp;is&nbsp;the&nbsp;return&nbsp;address&nbsp;to&nbsp;confirm&nbsp;a&nbsp;complete&nbsp;list&nbsp;scan<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;////////////////////////&nbsp;print<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">count</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Nodo&nbsp;eliminato&nbsp;%d&nbsp;volte\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">count</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Nodo&nbsp;non&nbsp;trovato"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />}<br /><br /><br /><br /></span><span style="color: #FF8000">//////////////////////////////////////////////////&nbsp;functions<br /><br /><br />////////////////////////////////////////////////////////////////////////loop&nbsp;wrapper&nbsp;for&nbsp;delete_node_from_and_count<br /></span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">loop_delete_node_from_and_count&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">keyword</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">count</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">all_list</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;*</span><span style="color: #0000BB">all_list</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">delete_node_from_and_count&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">keyword</span><span style="color: #007700">,</span><span style="color: #0000BB">members</span><span style="color: #007700">,</span><span style="color: #0000BB">count</span><span style="color: #007700">,</span><span style="color: #0000BB">all_list</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////&nbsp;delete&nbsp;a&nbsp;node&nbsp;and&nbsp;return&nbsp;the&nbsp;new&nbsp;list<br /></span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">delete_node_from_and_count&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">keyword</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">member_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">count</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">all_list</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">members</span><span style="color: #007700">==</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">all_list</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">keyword&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">keyword&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">surname</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">count</span><span style="color: #007700">+=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">delete_node_from_and_count&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">keyword</span><span style="color: #007700">,</span><span style="color: #0000BB">members</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">,</span><span style="color: #0000BB">count</span><span style="color: #007700">,</span><span style="color: #0000BB">all_list</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">members</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/90-struct-delete-count-and-scan</guid>
		</item>
		<item>
			<title>Lista - Conteggio Parole  e Stampe senza ripetizioni</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/84-lista-conteggio-parole-e-stampe-senza-ripetizioni</link>
			<pubDate>Sun, 02 Dec 2012 15:52:43 GMT</pubDate>
			<description>/* 
 * 
 * 
 * input:parole 
 * output: lista ordinata per nome senza ripetizioni + conteggio ripetizioni 
 * 
 * 
 */</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*&nbsp;input:parole<br />&nbsp;*&nbsp;output:&nbsp;lista&nbsp;ordinata&nbsp;per&nbsp;nome&nbsp;senza&nbsp;ripetizioni&nbsp;+&nbsp;conteggio&nbsp;ripetizioni<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*/<br /><br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br />#define&nbsp;WORD_SIZE&nbsp;100<br /><br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;string&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">word</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;counter</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;string&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">next</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span><span style="color: #0000BB">word_struct</span><span style="color: #007700">;<br /><br /><br /></span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_word_struct&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">input_word&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;input_counter&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">add_to_word_struct_list&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">node</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;list&nbsp;);<br /></span><span style="color: #0000BB">void&nbsp;convert_lower_case&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;k</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////////begin<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;buff</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">WORD_SIZE</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;buf&nbsp;temporaneo&nbsp;per&nbsp;le&nbsp;parole&nbsp;da&nbsp;input<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">list_word_struct&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Lista&nbsp;vuota&nbsp;di&nbsp;tipo&nbsp;word_struct<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">temp_word_struct</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Node&nbsp;temporaneo&nbsp;di&nbsp;tipo&nbsp;word_struct<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">fgetc</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">!=</span><span style="color: #0000BB">EOF&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">fgetc</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">)&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////&nbsp;parole&nbsp;nel&nbsp;buff<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">!=&nbsp;</span><span style="color: #DD0000">'&nbsp;'&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">!=&nbsp;</span><span style="color: #DD0000">'\n'&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">!=&nbsp;</span><span style="color: #DD0000">'\t'&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">buff</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">fgetc</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">buff</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">convert_lower_case&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">buff</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">);&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">buff</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;&nbsp;!=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">temp_word_struct&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">new_word_struct&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">buff</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;nuovo&nbsp;elemento&nbsp;di&nbsp;tipo&nbsp;word_struct<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">list_word_struct&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">add_to_word_struct_list&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">temp_word_struct</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">list_word_struct&nbsp;</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;aggiunta&nbsp;di&nbsp;un&nbsp;elemento&nbsp;word_struct&nbsp;a&nbsp;lista&nbsp;word_struct<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////&nbsp;stampa&nbsp;parole&nbsp;e&nbsp;numero&nbsp;inserimenti<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\nParole&nbsp;Inserite&nbsp;e&nbsp;ripetizioni&nbsp;:\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">temp_word_struct&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">list_word_struct&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">temp_word_struct&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">temp_word_struct&nbsp;</span><span style="color: #007700">=&nbsp;(*</span><span style="color: #0000BB">temp_word_struct</span><span style="color: #007700">).</span><span style="color: #0000BB">next</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s&nbsp;,&nbsp;%u\n"</span><span style="color: #007700">,(*</span><span style="color: #0000BB">temp_word_struct</span><span style="color: #007700">).</span><span style="color: #0000BB">word</span><span style="color: #007700">,(*</span><span style="color: #0000BB">temp_word_struct</span><span style="color: #007700">).</span><span style="color: #0000BB">counter</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;<br />}<br /><br /><br /><br /><br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////&nbsp;functions<br /><br /><br /><br />/////////////////////////////////////////////////////////////////////convert&nbsp;to&nbsp;lowercase<br /></span><span style="color: #0000BB">void&nbsp;convert_lower_case&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;k</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">k</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">buffer</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;&gt;=&nbsp;</span><span style="color: #DD0000">'A'&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;&lt;=&nbsp;</span><span style="color: #DD0000">'Z'</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;+&nbsp;(</span><span style="color: #DD0000">'a'</span><span style="color: #007700">-</span><span style="color: #DD0000">'A'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /><br /></span><span style="color: #FF8000">////////////////////////////////////////////////////////////////////&nbsp;new&nbsp;node<br /></span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_word_struct&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">input_word&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;input_counter&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pointer&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">word_struct</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">pointer</span><span style="color: #007700">).</span><span style="color: #0000BB">word&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strdup</span><span style="color: #007700">(</span><span style="color: #0000BB">input_word</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">pointer</span><span style="color: #007700">).</span><span style="color: #0000BB">counter&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">input_counter</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">pointer</span><span style="color: #007700">).</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////&nbsp;insert&nbsp;node<br /></span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">add_to_word_struct_list&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">node</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">word_struct&nbsp;</span><span style="color: #007700">*&nbsp;list&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////////////&nbsp;I&nbsp;caso&nbsp;:&nbsp;Lista&nbsp;Nulla<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(list&nbsp;==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">node</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////////////&nbsp;II&nbsp;caso&nbsp;:&nbsp;Inserimento&nbsp;in&nbsp;testa<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">strcmp</span><span style="color: #007700">((*</span><span style="color: #0000BB">node</span><span style="color: #007700">).</span><span style="color: #0000BB">word</span><span style="color: #007700">,(*list).</span><span style="color: #0000BB">word</span><span style="color: #007700">)&nbsp;&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">node</span><span style="color: #007700">).</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;list&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">node</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">strcmp</span><span style="color: #007700">((*</span><span style="color: #0000BB">node</span><span style="color: #007700">).</span><span style="color: #0000BB">word</span><span style="color: #007700">,(*list).</span><span style="color: #0000BB">word</span><span style="color: #007700">)==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*list).</span><span style="color: #0000BB">counter&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">free</span><span style="color: #007700">((*</span><span style="color: #0000BB">node</span><span style="color: #007700">).</span><span style="color: #0000BB">word</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;list;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////////////III&nbsp;caso&nbsp;Inserimento&nbsp;nel&nbsp;mezzo<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">(*list).</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">add_to_word_struct_list&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">node</span><span style="color: #007700">,&nbsp;(*list).</span><span style="color: #0000BB">next&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;list;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/84-lista-conteggio-parole-e-stampe-senza-ripetizioni</guid>
		</item>
		<item>
			<title>Realloc</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/83-realloc</link>
			<pubDate>Sat, 01 Dec 2012 18:33:02 GMT</pubDate>
			<description><![CDATA[#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
 
 
int main ( void ) { 
 
int n; 
int i,j; 
int * dati=NULL;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br /></span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">dati</span><span style="color: #007700">=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserire&nbsp;Numero\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br /><br />for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;</span><span style="color: #0000BB">n</span><span style="color: #007700">!=(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dati&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">realloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">dati</span><span style="color: #007700">,</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(int));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">dati&nbsp;</span><span style="color: #007700">+(</span><span style="color: #0000BB">i</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">))=</span><span style="color: #0000BB">n</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserire&nbsp;Numero\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br /><br />}<br /></span><span style="color: #0000BB">i</span><span style="color: #007700">--;<br /><br />for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">i</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">dati&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">));<br />}<br /><br /><br />&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/83-realloc</guid>
		</item>
		<item>
			<title>Strutture ordinate</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/82-strutture-ordinate</link>
			<pubDate>Sat, 01 Dec 2012 18:31:30 GMT</pubDate>
			<description><![CDATA[#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
#include &lt;string.h&gt; 
 
#define ELEMENTS(array) (sizeof(array)/sizeof(array[0])) 
#define NUMBER 2 
 
...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br />#define&nbsp;ELEMENTS(array)&nbsp;(sizeof(array)/sizeof(array&#91;0&#93;))<br />#define&nbsp;NUMBER&nbsp;2<br /><br /><br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;</span><span style="color: #007700">{<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;esami</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;media</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span><span style="color: #0000BB">studente_struct</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">int&nbsp;compara_struct_nome&nbsp;</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;stampa_struct&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">studente_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">char&nbsp;buffer</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">50</span><span style="color: #007700">&#93;;<br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">studente_struct&nbsp;studente</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">NUMBER</span><span style="color: #007700">&#93;;<br /><br />for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">NUMBER</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Nome\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%49s"</span><span style="color: #007700">,</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">studente&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">nome</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strdup</span><span style="color: #007700">(</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Cognome\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%49s"</span><span style="color: #007700">,</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;(*(</span><span style="color: #0000BB">studente&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">cognome</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strdup</span><span style="color: #007700">(</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Esami\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%u"</span><span style="color: #007700">,&amp;((*(</span><span style="color: #0000BB">studente</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">esami</span><span style="color: #007700">)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Media\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%f"</span><span style="color: #007700">,&amp;((*(</span><span style="color: #0000BB">studente</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">media</span><span style="color: #007700">)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #FF8000">//////////////////////////////&nbsp;ordina&nbsp;per&nbsp;nome<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">qsort</span><span style="color: #007700">(</span><span style="color: #0000BB">studente&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ELEMENTS</span><span style="color: #007700">(</span><span style="color: #0000BB">studente</span><span style="color: #007700">)&nbsp;,&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">studente</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;),&nbsp;</span><span style="color: #0000BB">compara_struct_nome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stampa_struct&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">studente</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/////////////////////////////////<br /><br />&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;compara_struct_nome&nbsp;</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">studente_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">dat1&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">studente_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">studente_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">dat2&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">studente_struct&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">strcmp&nbsp;</span><span style="color: #007700">(&nbsp;(*(</span><span style="color: #0000BB">dat1</span><span style="color: #007700">)).</span><span style="color: #0000BB">nome&nbsp;</span><span style="color: #007700">,&nbsp;(*(</span><span style="color: #0000BB">dat2</span><span style="color: #007700">)).</span><span style="color: #0000BB">nome&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;stampa_struct&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">studente_struct&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">NUMBER</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,&nbsp;(*(</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">nome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,&nbsp;(*(</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">cognome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%u\n"</span><span style="color: #007700">,&nbsp;(*(</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">esami</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%f\n"</span><span style="color: #007700">,&nbsp;(*(</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)).</span><span style="color: #0000BB">media</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/82-strutture-ordinate</guid>
		</item>
		<item>
			<title>Qsort - Array Dinamico - Error Control - Headers- Objects - Readme</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/81-qsort-array-dinamico-error-control-headers-objects-readme</link>
			<pubDate>Wed, 28 Nov 2012 21:10:43 GMT</pubDate>
			<description>main 
 
/* 
 * 
 * Qsort 
 * 
 * Require: compara_stringhe_c.o 
 * 
 */</description>
			<content:encoded><![CDATA[main<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;Qsort<br />&nbsp;*<br />&nbsp;*&nbsp;Require:&nbsp;compara_stringhe_c.o<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;stdio.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br />#include&nbsp;"main_header.h"&nbsp;//&nbsp;prototypes<br /><br />#define&nbsp;MAX_NUM&nbsp;"20"&nbsp;//&nbsp;numero&nbsp;cifre&nbsp;di&nbsp;input<br />#define&nbsp;MAX_INPUT_S&nbsp;"99"&nbsp;//&nbsp;lunghezza&nbsp;massima&nbsp;stringa&nbsp;input&nbsp;per&nbsp;vettore&nbsp;buffer<br />#define&nbsp;MAX_INPUT&nbsp;100&nbsp;//&nbsp;grande&nbsp;vettore&nbsp;buffer<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;numero&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;contatore&nbsp;di&nbsp;appoggio<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;base_address&nbsp;dei&nbsp;char&nbsp;*<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">array&nbsp;&#91;</span><span style="color: #0000BB">MAX_INPUT</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;buffer&nbsp;di&nbsp;chars<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">p_temp</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;puntatore&nbsp;temp&nbsp;&nbsp;a&nbsp;char<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////////////////////////////&nbsp;grandezza&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;di&nbsp;stringhe&nbsp;da&nbsp;inserire\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"</span><span style="color: #0000BB">MAX_NUM</span><span style="color: #DD0000">"d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;</span><span style="color: #0000BB">n</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Mi&nbsp;prendi&nbsp;in&nbsp;giro?&nbsp;Inserisci&nbsp;un&nbsp;numero&nbsp;intero&nbsp;positivo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"</span><span style="color: #0000BB">MAX_NUM</span><span style="color: #DD0000">"d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;inizio&nbsp;trattamento&nbsp;dati<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Lei&nbsp;è&nbsp;un&nbsp;betatester&nbsp;pigro\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////&nbsp;allocazioni&nbsp;spazio&nbsp;per&nbsp;gli&nbsp;n&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////&nbsp;verifica&nbsp;spazio&nbsp;sufficiente<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;disponibile&nbsp;non&nbsp;sufficiente&nbsp;per&nbsp;l'allocazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////&nbsp;input&nbsp;stringa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserire&nbsp;la&nbsp;%d&nbsp;stringa&nbsp;:\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"&nbsp;</span><span style="color: #0000BB">MAX_INPUT_S&nbsp;</span><span style="color: #DD0000">"s"</span><span style="color: #007700">,array);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////&nbsp;conteggio&nbsp;stringa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">!=</span><span style="color: #0000BB">MAX_INPUT</span><span style="color: #007700">)&nbsp;&nbsp;&amp;&amp;&nbsp;(array&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;!=</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////verifica&nbsp;della&nbsp;presenza&nbsp;del&nbsp;tappo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">==</span><span style="color: #0000BB">MAX_INPUT</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"La&nbsp;stringa&nbsp;in&nbsp;input&nbsp;non&nbsp;è&nbsp;formattata&nbsp;correttamente"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;alloco&nbsp;lo&nbsp;spazio&nbsp;per&nbsp;la&nbsp;stringa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">((</span><span style="color: #0000BB">j</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;disponibile&nbsp;non&nbsp;sufficiente&nbsp;per&nbsp;l'allocazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////////////////&nbsp;trasferisco&nbsp;i&nbsp;valori<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;array&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;!=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;=&nbsp;array&nbsp;&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;=&nbsp;array&nbsp;&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;aggiungo&nbsp;il&nbsp;tappo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">p_temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////&nbsp;fine&nbsp;inserimento&nbsp;valori&nbsp;/////<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;////////////stampo&nbsp;stringhe&nbsp;inserite<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\nStringhe&nbsp;inserite&nbsp;:&nbsp;\n\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////sorting&nbsp;delle&nbsp;stringhe<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">qsort&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)&nbsp;,&nbsp;</span><span style="color: #0000BB">compara_stringhe</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;stampa&nbsp;delle&nbsp;stringhe<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\nStringhe&nbsp;ordinate&nbsp;:&nbsp;\n\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////&nbsp;libero&nbsp;le&nbsp;allocazioni&nbsp;delle&nbsp;singole&nbsp;stringhe<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">free</span><span style="color: #007700">(*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////&nbsp;libero&nbsp;l'allocazione&nbsp;degli&nbsp;n&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">free</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>main header<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">int&nbsp;compara_stringhe&nbsp;</span><span style="color: #007700">(&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">);&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>function<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;Funzione&nbsp;di&nbsp;comparazione&nbsp;stringhe<br />&nbsp;*<br />&nbsp;*&nbsp;Closed<br />&nbsp;*/<br /><br /></span><span style="color: #0000BB">int&nbsp;compara_stringhe&nbsp;</span><span style="color: #007700">(&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">str1&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">str2&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">diff</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////&nbsp;controllo&nbsp;le&nbsp;stringhe&nbsp;ed&nbsp;esco&nbsp;solo&nbsp;se&nbsp;trovo&nbsp;un&nbsp;tappo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;*(*(</span><span style="color: #0000BB">str1</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;*(*(</span><span style="color: #0000BB">str2</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=&nbsp;</span><span style="color: #0000BB">0&nbsp;&nbsp;</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">diff&nbsp;</span><span style="color: #007700">=&nbsp;*(*(</span><span style="color: #0000BB">str1</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;-&nbsp;*(*(</span><span style="color: #0000BB">str2</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">diff&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">diff</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////////////////////rieffettuo&nbsp;la&nbsp;differenza&nbsp;e&nbsp;restituisco<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">diff&nbsp;</span><span style="color: #007700">=&nbsp;*(*(</span><span style="color: #0000BB">str1</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;-&nbsp;*(*(</span><span style="color: #0000BB">str2</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">diff</span><span style="color: #007700">;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/81-qsort-array-dinamico-error-control-headers-objects-readme</guid>
		</item>
		<item>
			<title><![CDATA[lista di matrici per la soluzione al problema di di stasi [non funziona]]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/80-lista-di-matrici-per-la-soluzione-al-problema-di-di-stasi-non-funziona</link>
			<pubDate>Wed, 28 Nov 2012 17:41:54 GMT</pubDate>
			<description>salve ragazzi ho pensato che una possibile soluzione al problema della stampa di tutti i dati anagrafici dei ragazzi di una classe la si potesse...</description>
			<content:encoded><![CDATA[salve ragazzi ho pensato che una possibile soluzione al problema della stampa di tutti i dati anagrafici dei ragazzi di una classe la si potesse risolvere con una lista(argomento non trattato ancora all'uni) ma qualcosina mi sfugge ancora vi posto il sorgente credo sia la miglior soluzione perché non mi vincolerebbe in nessuna maniera dal farla crescere in maniera vertiginosa ecco tutto per voi:<br />
<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /></span><span style="color: #0000BB">struct&nbsp;studenti<br /></span><span style="color: #007700">{&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;matricola</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">15</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;studenti</span><span style="color: #007700">*</span><span style="color: #0000BB">next</span><span style="color: #007700">;<br />};<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;studenti</span><span style="color: #007700">*);<br /></span><span style="color: #0000BB">void&nbsp;inserisci</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;studenti</span><span style="color: #007700">*);<br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">()<br />{&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;scelta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;studenti&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">alunni&nbsp;</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunni</span><span style="color: #007700">=(</span><span style="color: #0000BB">struct&nbsp;studenti</span><span style="color: #007700">*)</span><span style="color: #0000BB">malloc</span><span style="color: #007700">(</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;studenti</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunni</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;do{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"&nbsp;_________________________\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"|1:&nbsp;inserisci&nbsp;i&nbsp;dati------|\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"|2:&nbsp;stampa----------------|\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"|3:&nbsp;exit------------------|\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"|-------------------------|\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">==</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">inserisci</span><span style="color: #007700">(</span><span style="color: #0000BB">alunni</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">==</span><span style="color: #0000BB">2</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">alunni</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}while(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">!=</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunni</span><span style="color: #007700">=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">void&nbsp;inserisci</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;studenti&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">alunno</span><span style="color: #007700">)<br />{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">nome</span><span style="color: #007700">,*</span><span style="color: #0000BB">cognome</span><span style="color: #007700">,*</span><span style="color: #0000BB">matricola</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">=</span><span style="color: #0000BB">nome</span><span style="color: #007700">=</span><span style="color: #0000BB">matricola</span><span style="color: #007700">=(</span><span style="color: #0000BB">char</span><span style="color: #007700">*)</span><span style="color: #0000BB">malloc</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">!=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunno</span><span style="color: #007700">=</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;vado&nbsp;avanti&nbsp;nella&nbsp;lista&nbsp;fino&nbsp;a&nbsp;che&nbsp;non&nbsp;trovo&nbsp;l'ultimo<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;un&nbsp;nome\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s"</span><span style="color: #007700">,</span><span style="color: #0000BB">nome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">nome</span><span style="color: #007700">=(</span><span style="color: #0000BB">char</span><span style="color: #007700">*)</span><span style="color: #0000BB">malloc</span><span style="color: #007700">(</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">nome</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)*</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char</span><span style="color: #007700">*));</span><span style="color: #FF8000">//&nbsp;prendo&nbsp;memoria&nbsp;lo&nbsp;stretto&nbsp;indispensabile<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strcpy</span><span style="color: #007700">(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">nome</span><span style="color: #007700">,</span><span style="color: #0000BB">nome</span><span style="color: #007700">);</span><span style="color: #FF8000">//&nbsp;copia&nbsp;del&nbsp;dato&nbsp;nella&nbsp;struttura<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;il&nbsp;cognome\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s"</span><span style="color: #007700">,</span><span style="color: #0000BB">cognome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">=(</span><span style="color: #0000BB">char</span><span style="color: #007700">*)</span><span style="color: #0000BB">malloc</span><span style="color: #007700">(</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">cognome</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)*</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strcpy</span><span style="color: #007700">(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">,</span><span style="color: #0000BB">cognome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;la&nbsp;matricola\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s"</span><span style="color: #007700">,</span><span style="color: #0000BB">matricola</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">matricola</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;=*(</span><span style="color: #0000BB">char</span><span style="color: #007700">*)</span><span style="color: #0000BB">malloc</span><span style="color: #007700">(</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">matricola</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)*</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strcpy</span><span style="color: #007700">(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">matricola</span><span style="color: #007700">,</span><span style="color: #0000BB">matricola</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;studenti&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">alunno</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">!=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;scorro&nbsp;fino&nbsp;all'ultimo&nbsp;elemento&nbsp;e&nbsp;mentre&nbsp;lo&nbsp;faccio&nbsp;stampo<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"_________________________________\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">puts</span><span style="color: #007700">(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">nome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">puts</span><span style="color: #007700">(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">puts</span><span style="color: #007700">(</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">matricola</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"_________________________________\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">alunno</span><span style="color: #007700">=</span><span style="color: #0000BB">alunno</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">next</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>buon divertimento!!]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>Broke31</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/80-lista-di-matrici-per-la-soluzione-al-problema-di-di-stasi-non-funziona</guid>
		</item>
		<item>
			<title>Allocazione Spazio per Matrice Dynamica</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/79-allocazione-spazio-per-matrice-dynamica</link>
			<pubDate>Tue, 27 Nov 2012 23:24:42 GMT</pubDate>
			<description><![CDATA[/* 
 * 
 *  Matrice Dinamica / only space allocation 
 * 
 * 
 */ 
 
#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;&nbsp;Matrice&nbsp;Dinamica&nbsp;/&nbsp;only&nbsp;space&nbsp;allocation<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br />&nbsp;</span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">vet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;r</span><span style="color: #007700">,</span><span style="color: #0000BB">c</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;righe\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%u"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">r</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">int</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">r&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;colonne\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%u"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">c</span><span style="color: #007700">);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">r</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">vet&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;(&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(int));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/79-allocazione-spazio-per-matrice-dynamica</guid>
		</item>
		<item>
			<title>Array Stringhe e Stampa di sole vocali ( Senator Style )</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/78-array-stringhe-e-stampa-di-sole-vocali-senator-style</link>
			<pubDate>Tue, 27 Nov 2012 22:35:30 GMT</pubDate>
			<description>/* 
* 
*array w di puntatori a stringhe. 
*definire una funzione con il seguente prototipo char * getVocali (chat * ). 
*prende come parametro il...</description>
			<content:encoded><![CDATA[<span style="color:#ff0000">
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />*<br />*array&nbsp;w&nbsp;di&nbsp;puntatori&nbsp;a&nbsp;stringhe.<br />*definire&nbsp;una&nbsp;funzione&nbsp;con&nbsp;il&nbsp;seguente&nbsp;prototipo&nbsp;char&nbsp;*&nbsp;getVocali&nbsp;(chat&nbsp;*&nbsp;).<br />*prende&nbsp;come&nbsp;parametro&nbsp;il&nbsp;puntatore&nbsp;alla&nbsp;stringa&nbsp;s&nbsp;e<br />*restituisce&nbsp;un&nbsp;puntatore&nbsp;a&nbsp;una&nbsp;nuova&nbsp;stringa&nbsp;composta&nbsp;da&nbsp;solo&nbsp;le&nbsp;vocali<br />*in&nbsp;s&nbsp;al&nbsp;vettore&nbsp;originario<br />*applicate&nbsp;tale&nbsp;funzione&nbsp;a&nbsp;ogni&nbsp;elemento&nbsp;array<br />*<br />*/&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div></span>
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"><br /></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br />#define&nbsp;INPUT&nbsp;100<br />#define&nbsp;INPUT_S&nbsp;"99"<br /><br /></span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">getvocali&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;prototype<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br /><br /></span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;n</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;vet&nbsp;a&nbsp;char<br /></span><span style="color: #0000BB">char&nbsp;buf</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">INPUT</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;buffer&nbsp;temporaneo<br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;indice<br /><br />//////////////////////////////////////////////////////////&nbsp;numero&nbsp;stringhe<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;elementi:\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%u"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*));<br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////&nbsp;inserimento&nbsp;dati<br /></span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserire&nbsp;la&nbsp;%d&nbsp;stringa\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"&nbsp;</span><span style="color: #0000BB">INPUT_S&nbsp;</span><span style="color: #DD0000">"s"</span><span style="color: #007700">,</span><span style="color: #0000BB">buf</span><span style="color: #007700">);<br />*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=</span><span style="color: #0000BB">strdup</span><span style="color: #007700">(</span><span style="color: #0000BB">buf</span><span style="color: #007700">);<br />}<br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////&nbsp;fine&nbsp;inserimento&nbsp;dati<br /><br /><br />//////////////////////////////////////////////////////&nbsp;stampa&nbsp;dati<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\nStringhe&nbsp;inserite:\n"</span><span style="color: #007700">);<br />for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />}<br /><br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////&nbsp;chiamata&nbsp;a&nbsp;getvocali<br /></span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">getvocali&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />}<br /><br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////&nbsp;stampa&nbsp;stringhe&nbsp;e&nbsp;free&nbsp;dei&nbsp;dati<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\nStringhe&nbsp;con&nbsp;solo&nbsp;le&nbsp;vocali:\n"</span><span style="color: #007700">);<br />for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">free</span><span style="color: #007700">(*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />}<br /></span><span style="color: #0000BB">free</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">);<br /><br />return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">getvocali&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">){<br /><br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;indice<br /></span><span style="color: #0000BB">int&nbsp;j</span><span style="color: #007700">=-</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;indice&nbsp;vocali<br /></span><span style="color: #0000BB">char&nbsp;buffer</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">INPUT</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;buffer<br /><br />//////////////////////////////////////////////////////&nbsp;verifica&nbsp;presenza&nbsp;vocali&nbsp;e&nbsp;inserimento&nbsp;tappi<br /></span><span style="color: #007700">for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br /><br />if(*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)==</span><span style="color: #DD0000">'a'&nbsp;</span><span style="color: #007700">||&nbsp;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)==</span><span style="color: #DD0000">'e'&nbsp;</span><span style="color: #007700">||&nbsp;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)==</span><span style="color: #DD0000">'i'&nbsp;</span><span style="color: #007700">||&nbsp;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)==</span><span style="color: #DD0000">'o'&nbsp;</span><span style="color: #007700">||&nbsp;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)==</span><span style="color: #DD0000">'u'</span><span style="color: #007700">){<br /><br /></span><span style="color: #0000BB">j</span><span style="color: #007700">++;<br />*(</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;=&nbsp;*(</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br /><br />}<br /><br />}<br /><br />*(</span><span style="color: #0000BB">buffer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////&nbsp;free&nbsp;dei&nbsp;vecchi&nbsp;dati&nbsp;prima&nbsp;di&nbsp;restituire&nbsp;e&nbsp;perdere&nbsp;il&nbsp;puntatore<br /></span><span style="color: #0000BB">free</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">);<br />return&nbsp;</span><span style="color: #0000BB">strdup&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/78-array-stringhe-e-stampa-di-sole-vocali-senator-style</guid>
		</item>
		<item>
			<title>Il pc sceglie un numero e voi lo dovete indovinare</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/77-il-pc-sceglie-un-numero-e-voi-lo-dovete-indovinare</link>
			<pubDate>Tue, 27 Nov 2012 18:48:27 GMT</pubDate>
			<description><![CDATA[#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
 
 
 
int main (void){ 
     
    int n; 
    int scelta; 
    int i=0;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;scelta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">srand</span><span style="color: #007700">(</span><span style="color: #0000BB">time</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">=</span><span style="color: #0000BB">rand</span><span style="color: #007700">()%</span><span style="color: #0000BB">1000</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Indovina&nbsp;il&nbsp;numero&nbsp;tra&nbsp;0&nbsp;e&nbsp;1000\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">scelta&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Scegli&nbsp;un&nbsp;numero&nbsp;piu&nbsp;grande\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Scegli&nbsp;un&nbsp;numero&nbsp;piu&nbsp;piccolo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Bravo!&nbsp;Hai&nbsp;impiegato&nbsp;%d&nbsp;tentativi\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/77-il-pc-sceglie-un-numero-e-voi-lo-dovete-indovinare</guid>
		</item>
		<item>
			<title>Il pc che indovina un numero tra 0 e 1000 - Voi lo pensate soltanto</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/76-il-pc-che-indovina-un-numero-tra-0-e-1000-voi-lo-pensate-soltanto</link>
			<pubDate>Tue, 27 Nov 2012 18:47:24 GMT</pubDate>
			<description><![CDATA[#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
 
 
 
int main (void){ 
     
    int scelta; 
    int sugg; 
    int i=0;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;scelta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;sugg</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;min&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;max&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1000</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;calc</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Pensa&nbsp;un&nbsp;numero&nbsp;tra&nbsp;0&nbsp;e&nbsp;1000\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">srand</span><span style="color: #007700">(</span><span style="color: #0000BB">time</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">rand</span><span style="color: #007700">()%</span><span style="color: #0000BB">1000</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"E'&nbsp;per&nbsp;caso&nbsp;%d&nbsp;?\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"1&nbsp;se&nbsp;più&nbsp;piccolo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"2&nbsp;se&nbsp;ho&nbsp;fatto&nbsp;centro\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"3&nbsp;se&nbsp;più&nbsp;grande\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">sugg</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">sugg&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">sugg</span><span style="color: #007700">==</span><span style="color: #0000BB">1</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">max</span><span style="color: #007700">=</span><span style="color: #0000BB">scelta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">srand</span><span style="color: #007700">(</span><span style="color: #0000BB">time</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">calc</span><span style="color: #007700">=(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">-</span><span style="color: #0000BB">2</span><span style="color: #007700">)-</span><span style="color: #0000BB">min</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">calc&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">calc</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">rand</span><span style="color: #007700">()%</span><span style="color: #0000BB">calc</span><span style="color: #007700">)+</span><span style="color: #0000BB">min</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"E'&nbsp;per&nbsp;caso&nbsp;%d&nbsp;?\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">sugg</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">=</span><span style="color: #0000BB">scelta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">srand</span><span style="color: #007700">(</span><span style="color: #0000BB">time</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">calc</span><span style="color: #007700">=(</span><span style="color: #0000BB">max</span><span style="color: #007700">-</span><span style="color: #0000BB">2</span><span style="color: #007700">)-</span><span style="color: #0000BB">scelta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">calc&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">calc</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">rand</span><span style="color: #007700">()%&nbsp;</span><span style="color: #0000BB">calc</span><span style="color: #007700">)+</span><span style="color: #0000BB">scelta</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"E'&nbsp;per&nbsp;caso&nbsp;%d&nbsp;?\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">sugg</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Aleee!&nbsp;Ho&nbsp;impiegato&nbsp;%d&nbsp;tentativi\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/76-il-pc-che-indovina-un-numero-tra-0-e-1000-voi-lo-pensate-soltanto</guid>
		</item>
		<item>
			<title>Tab to Spaces</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/75-tab-to-spaces</link>
			<pubDate>Tue, 27 Nov 2012 17:04:39 GMT</pubDate>
			<description><![CDATA[Prima versione, sembra essere funzionante. 
 
/* 
 * 
 * Tab to Spaces 
 * 
 * 
 */ 
 
#include &lt;st***.h&gt;]]></description>
			<content:encoded><![CDATA[Prima versione, sembra essere funzionante.<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;Tab&nbsp;to&nbsp;Spaces<br />&nbsp;*<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;c</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">,</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fgetc</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">c</span><span style="color: #007700">!=</span><span style="color: #0000BB">EOF</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;condizione&nbsp;di&nbsp;uscita<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'\t'</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">//se&nbsp;il&nbsp;carattere&nbsp;è&nbsp;tab<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">8</span><span style="color: #007700">-(</span><span style="color: #0000BB">i</span><span style="color: #007700">%</span><span style="color: #0000BB">8</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;modulo&nbsp;rispetto&nbsp;all'indice<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">k</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">k</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">j</span><span style="color: #007700">;</span><span style="color: #0000BB">k</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fputc</span><span style="color: #007700">(</span><span style="color: #0000BB">32</span><span style="color: #007700">,</span><span style="color: #0000BB">stdout</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;stampa&nbsp;degli&nbsp;spazi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">c</span><span style="color: #007700">==</span><span style="color: #0000BB">10</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">//&nbsp;verifica&nbsp;se&nbsp;bisgona&nbsp;resettare&nbsp;tutto<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fgetc</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;richiesta&nbsp;nuovo&nbsp;carattere<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fputc</span><span style="color: #007700">(</span><span style="color: #0000BB">c</span><span style="color: #007700">,</span><span style="color: #0000BB">stdout</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;stampa&nbsp;carattare&nbsp;non&nbsp;tab<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">c</span><span style="color: #007700">==</span><span style="color: #0000BB">10</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">//&nbsp;verifica&nbsp;condizione&nbsp;di&nbsp;reset<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fgetc</span><span style="color: #007700">(</span><span style="color: #0000BB">stdin</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;richiesta&nbsp;di&nbsp;nuovo&nbsp;carattere<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/75-tab-to-spaces</guid>
		</item>
		<item>
			<title>Qsort - Array Dinamico - Error Control</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/74-qsort-array-dinamico-error-control</link>
			<pubDate>Sun, 25 Nov 2012 19:34:09 GMT</pubDate>
			<description><![CDATA[/* 
 * 
 * Qsort 
 * 
 * Require: compara_stringhe_c.o 
 * 
 */ 
 
#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;Qsort<br />&nbsp;*<br />&nbsp;*&nbsp;Require:&nbsp;compara_stringhe_c.o<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br /><br /><br />#define&nbsp;MAX_NUM&nbsp;"20"&nbsp;//&nbsp;numero&nbsp;cifre&nbsp;di&nbsp;input<br />#define&nbsp;MAX_INPUT_S&nbsp;"99"&nbsp;//&nbsp;lunghezza&nbsp;massima&nbsp;stringa&nbsp;input&nbsp;per&nbsp;vettore&nbsp;buffer<br />#define&nbsp;MAX_INPUT&nbsp;100&nbsp;//&nbsp;grande&nbsp;vettore&nbsp;buffer<br /><br /></span><span style="color: #0000BB">int&nbsp;compara_stringhe&nbsp;</span><span style="color: #007700">(&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">str1</span><span style="color: #007700">=(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">str2</span><span style="color: #007700">=(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">strcmp</span><span style="color: #007700">(*</span><span style="color: #0000BB">str1</span><span style="color: #007700">,*</span><span style="color: #0000BB">str2</span><span style="color: #007700">);<br /><br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;numero&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;contatore&nbsp;di&nbsp;appoggio<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;base_address&nbsp;dei&nbsp;char&nbsp;*<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">array&nbsp;&#91;</span><span style="color: #0000BB">MAX_INPUT</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;buffer&nbsp;di&nbsp;chars<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">p_temp</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;puntatore&nbsp;temp&nbsp;&nbsp;a&nbsp;char<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////////////////////////////&nbsp;grandezza&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;di&nbsp;stringhe&nbsp;da&nbsp;inserire\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"</span><span style="color: #0000BB">MAX_NUM</span><span style="color: #DD0000">"d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;</span><span style="color: #0000BB">n</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Mi&nbsp;prendi&nbsp;in&nbsp;giro?&nbsp;Inserisci&nbsp;un&nbsp;numero&nbsp;intero&nbsp;positivo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"</span><span style="color: #0000BB">MAX_NUM</span><span style="color: #DD0000">"d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;inizio&nbsp;trattamento&nbsp;dati<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Lei&nbsp;è&nbsp;un&nbsp;betatester&nbsp;pigro\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////&nbsp;allocazioni&nbsp;spazio&nbsp;per&nbsp;gli&nbsp;n&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////&nbsp;verifica&nbsp;spazio&nbsp;sufficiente<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;disponibile&nbsp;non&nbsp;sufficiente&nbsp;per&nbsp;l'allocazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////&nbsp;input&nbsp;stringa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserire&nbsp;la&nbsp;%d&nbsp;stringa&nbsp;:\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"&nbsp;</span><span style="color: #0000BB">MAX_INPUT_S&nbsp;</span><span style="color: #DD0000">"s"</span><span style="color: #007700">,array);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////&nbsp;conteggio&nbsp;stringa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">!=</span><span style="color: #0000BB">MAX_INPUT</span><span style="color: #007700">)&nbsp;&nbsp;&amp;&amp;&nbsp;(array&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;!=</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////verifica&nbsp;della&nbsp;presenza&nbsp;del&nbsp;tappo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">==</span><span style="color: #0000BB">MAX_INPUT</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"La&nbsp;stringa&nbsp;in&nbsp;input&nbsp;non&nbsp;è&nbsp;formattata&nbsp;correttamente"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;alloco&nbsp;lo&nbsp;spazio&nbsp;per&nbsp;la&nbsp;stringa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">((</span><span style="color: #0000BB">j</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Spazio&nbsp;disponibile&nbsp;non&nbsp;sufficiente&nbsp;per&nbsp;l'allocazione\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////////////////&nbsp;trasferisco&nbsp;i&nbsp;valori<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;array&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;!=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;=&nbsp;array&nbsp;&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;=&nbsp;array&nbsp;&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;aggiungo&nbsp;il&nbsp;tappo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">p_temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////&nbsp;fine&nbsp;inserimento&nbsp;valori&nbsp;/////<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;////////////stampo&nbsp;stringhe&nbsp;inserite<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\nStringhe&nbsp;inserite&nbsp;:&nbsp;\n\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////sorting&nbsp;delle&nbsp;stringhe<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">qsort&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*)&nbsp;,&nbsp;</span><span style="color: #0000BB">compara_stringhe</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;stampa&nbsp;delle&nbsp;stringhe<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"\nStringhe&nbsp;ordinate&nbsp;:&nbsp;\n\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////&nbsp;libero&nbsp;le&nbsp;allocazioni&nbsp;delle&nbsp;singole&nbsp;stringhe<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">free</span><span style="color: #007700">(*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////&nbsp;libero&nbsp;l'allocazione&nbsp;degli&nbsp;n&nbsp;elementi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">free</span><span style="color: #007700">(</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/74-qsort-array-dinamico-error-control</guid>
		</item>
		<item>
			<title>Sostituzione spazio ai tab :d (non funzionante)</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/73-sostituzione-spazio-ai-tab-d-non-funzionante</link>
			<pubDate>Sun, 25 Nov 2012 17:05:58 GMT</pubDate>
			<description><![CDATA[Vi ricordo che il nome del file è &quot;string.txt&quot; :D 
 
 
#include &lt;stdlib.h&gt; 
#include &lt;st***.h&gt; 
#include &lt;string.h&gt; 
#define dim 100 
main() 
{ 
FILE *...]]></description>
			<content:encoded><![CDATA[Vi ricordo che il nome del file è &quot;string.txt&quot; <img src="https://www.xgiovio.com/forum/core/images/smilies/biggrin.png" border="0" alt="" title="Big Grin" smilieid="3" class="inlineimg" /><br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;stdlib.h&gt;<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;string.h&gt;<br />#define&nbsp;dim&nbsp;100<br /></span><span style="color: #0000BB">main</span><span style="color: #007700">()<br />{<br /></span><span style="color: #0000BB">FILE&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">pFile</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;c</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//carattere&nbsp;assunto&nbsp;dalla&nbsp;funzione&nbsp;fgetc<br /></span><span style="color: #0000BB">char&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">dim</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//vettore&nbsp;che&nbsp;conterrà&nbsp;la&nbsp;stringa<br /></span><span style="color: #0000BB">int&nbsp;mod</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//mod&nbsp;/tabulazione<br /></span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">int&nbsp;j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #FF8000">//INDICI<br /><br /></span><span style="color: #007700">for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">dim</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)<br />{<br /></span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #DD0000">'&nbsp;'</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">pFile</span><span style="color: #007700">=</span><span style="color: #0000BB">fopen&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"stringa.txt"</span><span style="color: #007700">,</span><span style="color: #DD0000">"r"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//apertura&nbsp;file<br />&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">pFile</span><span style="color: #007700">==</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;{<br /></span><span style="color: #0000BB">perror&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Error&nbsp;opening&nbsp;file"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//controllo&nbsp;file&nbsp;:)<br /></span><span style="color: #007700">}&nbsp;</span><span style="color: #FF8000">//&nbsp;FINE&nbsp;OPERAZIONI&nbsp;APERTURA&nbsp;FILE<br /><br />&nbsp;&nbsp;</span><span style="color: #007700">else&nbsp;&nbsp;{<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Il&nbsp;contenuto&nbsp;del&nbsp;file&nbsp;e':&nbsp;"</span><span style="color: #007700">);<br />do{<br /></span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fgetc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">pFile</span><span style="color: #007700">);</span><span style="color: #FF8000">//assunzione&nbsp;del&nbsp;carattere&nbsp;attraverso&nbsp;la&nbsp;funzione&nbsp;fgetc<br /></span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//assegna&nbsp;a&nbsp;vet&#91;i&#93;&nbsp;c<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%c"</span><span style="color: #007700">,</span><span style="color: #0000BB">c</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//STAMPA&nbsp;CARATTERE&nbsp;PER&nbsp;CARATTERE<br /></span><span style="color: #0000BB">mod</span><span style="color: #007700">=</span><span style="color: #0000BB">i</span><span style="color: #007700">%</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br /><br />if(</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;==&nbsp;</span><span style="color: #DD0000">'\t'</span><span style="color: #007700">)<br />{<br />for(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">!=(</span><span style="color: #0000BB">4</span><span style="color: #007700">-</span><span style="color: #0000BB">mod</span><span style="color: #007700">)+</span><span style="color: #0000BB">1</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++)<br />{<br /></span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #DD0000">'&nbsp;'</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//vettore&nbsp;risultato&nbsp;:D<br /></span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />}</span><span style="color: #FF8000">//fine&nbsp;for<br /><br /></span><span style="color: #007700">}</span><span style="color: #FF8000">//fine&nbsp;if<br /><br /></span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />}while&nbsp;(</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">EOF</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//FINE&nbsp;CICLO<br /><br /></span><span style="color: #0000BB">fclose&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">pFile</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//CHIUSURA&nbsp;FILE<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"seconda&nbsp;parte\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"il&nbsp;contenuto&nbsp;del&nbsp;file&nbsp;e':&nbsp;"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />while(</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;!=&nbsp;</span><span style="color: #0000BB">EOF</span><span style="color: #007700">)<br />{<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%c"</span><span style="color: #007700">,</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;);<br /></span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />}<br />&nbsp;&nbsp;&nbsp;}</span><span style="color: #FF8000">//chiusura&nbsp;else&nbsp;:)<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>TheAvenger</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/73-sostituzione-spazio-ai-tab-d-non-funzionante</guid>
		</item>
		<item>
			<title>ricerca con sentinella</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/72-ricerca-con-sentinella</link>
			<pubDate>Sun, 25 Nov 2012 16:50:41 GMT</pubDate>
			<description><![CDATA[raga questo è il mio algoritmo della ricerca con sentinella ecco a voi: 
 
 
 
 
//ricerca con sentinella 
#include &lt;st***.h&gt; 
int...]]></description>
			<content:encoded><![CDATA[raga questo è il mio algoritmo della ricerca con sentinella ecco a voi:<br />
<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//ricerca&nbsp;con&nbsp;sentinella<br />#include&nbsp;&lt;st***.h&gt;<br /></span><span style="color: #0000BB">int&nbsp;ricerca</span><span style="color: #007700">(</span><span style="color: #0000BB">int</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int</span><span style="color: #007700">,</span><span style="color: #0000BB">int</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;acquis</span><span style="color: #007700">(</span><span style="color: #0000BB">int</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">size</span><span style="color: #007700">,</span><span style="color: #0000BB">mister_x</span><span style="color: #007700">,</span><span style="color: #0000BB">ris</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">=</span><span style="color: #0000BB">10</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">acquis</span><span style="color: #007700">(</span><span style="color: #0000BB">vet</span><span style="color: #007700">,</span><span style="color: #0000BB">size</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">);</span><span style="color: #FF8000">//&nbsp;la&nbsp;ricerca&nbsp;con&nbsp;sentinella&nbsp;riempio&nbsp;fino&nbsp;a&nbsp;size&nbsp;-1&nbsp;e&nbsp;in&nbsp;posizione&nbsp;size&nbsp;ho&nbsp;la&nbsp;sentinella<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;il&nbsp;numero&nbsp;da&nbsp;cercare\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">mister_x</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ris</span><span style="color: #007700">=</span><span style="color: #0000BB">ricerca</span><span style="color: #007700">(</span><span style="color: #0000BB">vet</span><span style="color: #007700">,</span><span style="color: #0000BB">size</span><span style="color: #007700">,</span><span style="color: #0000BB">mister_x</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">ris</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"elemento&nbsp;non&nbsp;trovato\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"numero&nbsp;presente&nbsp;in&nbsp;posizione&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">ris</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;acquis</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">p_vet</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p_vet</span><span style="color: #007700">=</span><span style="color: #0000BB">vet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;l'elemento&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,(</span><span style="color: #0000BB">p_vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br /><br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;ricerca</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;sei_davvero_tu</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">size</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">sei_davvero_tu</span><span style="color: #007700">;</span><span style="color: #FF8000">//&nbsp;piazzo&nbsp;la&nbsp;sentinella<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;==</span><span style="color: #0000BB">sei_davvero_tu</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">;</span><span style="color: #FF8000">//ho&nbsp;trovato&nbsp;l'elemento&nbsp;e&nbsp;lo&nbsp;restituisco<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;non&nbsp;c'è&nbsp;l'elemento&nbsp;:-(<br /><br /></span><span style="color: #007700">}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>Broke31</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/72-ricerca-con-sentinella</guid>
		</item>
		<item>
			<title>Vettore Dinamico con Stringhe</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/71-vettore-dinamico-con-stringhe</link>
			<pubDate>Sun, 25 Nov 2012 11:15:14 GMT</pubDate>
			<description><![CDATA[/* 
 * 
 * Allocazione dinamica di stringhe in un vettore dinamico 
 * 
 */ 
#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
#define BUFF_SIZE 100 
#define...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;Allocazione&nbsp;dinamica&nbsp;di&nbsp;stringhe&nbsp;in&nbsp;un&nbsp;vettore&nbsp;dinamico<br />&nbsp;*<br />&nbsp;*/<br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#define&nbsp;BUFF_SIZE&nbsp;100<br />#define&nbsp;BUFF_SIZE_S&nbsp;"99"<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">p_temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;vet_char</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">BUFF_SIZE</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">///////////////////////////////////////////////////&nbsp;contiamo&nbsp;gli&nbsp;elmenti&nbsp;e&nbsp;allochiamo&nbsp;spazio<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;elementi&nbsp;array&nbsp;:\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">*));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////////////////////inseriamo&nbsp;la&nbsp;stringa&nbsp;nel&nbsp;buffer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserire&nbsp;la&nbsp;%d&nbsp;stringa&nbsp;:\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%"&nbsp;</span><span style="color: #0000BB">BUFF_SIZE_S&nbsp;</span><span style="color: #DD0000">"s"</span><span style="color: #007700">,</span><span style="color: #0000BB">vet_char</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////////////&nbsp;determino&nbsp;lunghezza&nbsp;stringa&nbsp;buffer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">vet_char</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////////////////&nbsp;alloco&nbsp;lo&nbsp;spazio&nbsp;necessario&nbsp;per&nbsp;cp&nbsp;in&nbsp;memoria<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p_temp</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">(&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////////////////////&nbsp;copia&nbsp;in&nbsp;corso<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">vet_char</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">vet_char</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">p_temp&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">vet_char</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////////////////////////link&nbsp;del&nbsp;puntatore&nbsp;vet&nbsp;alla&nbsp;stringa&nbsp;allocata<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)=</span><span style="color: #0000BB">p_temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Stringhe&nbsp;inserite&nbsp;:\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Nessun&nbsp;dato&nbsp;inserito\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/71-vettore-dinamico-con-stringhe</guid>
		</item>
		<item>
			<title>Macro Expanded - temp solution</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/70-macro-expanded-temp-solution</link>
			<pubDate>Sun, 25 Nov 2012 10:41:56 GMT</pubDate>
			<description><![CDATA[/* 
 * 
 * You loved me and i frozen time 
 * 
 * Soluzione temporanea finchè non capisco per bene le macro 
 * 
 */ 
 
#include &lt;st***.h&gt; 
#include...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*<br />&nbsp;*&nbsp;You&nbsp;loved&nbsp;me&nbsp;and&nbsp;i&nbsp;frozen&nbsp;time<br />&nbsp;*<br />&nbsp;*&nbsp;Soluzione&nbsp;temporanea&nbsp;finchè&nbsp;non&nbsp;capisco&nbsp;per&nbsp;bene&nbsp;le&nbsp;macro<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br />#define&nbsp;BUFF_SIZE_S&nbsp;"100"<br />#define&nbsp;BUFF_SIZE&nbsp;100<br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">array&#91;</span><span style="color: #0000BB">BUFF_SIZE</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"x"&nbsp;</span><span style="color: #0000BB">BUFF_SIZE_S&nbsp;</span><span style="color: #DD0000">"x"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/70-macro-expanded-temp-solution</guid>
		</item>
		<item>
			<title>Input Stringhe E Malloc</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/69-input-stringhe-e-malloc</link>
			<pubDate>Sat, 24 Nov 2012 10:58:44 GMT</pubDate>
			<description><![CDATA[#include &lt;st***.h&gt; 
#include &lt;stdlib.h&gt; 
 
 
int main (void) { 
     
    int i,j; 
    char array [100] ; 
    char *vet_s[5]; 
    char *punt;]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">array&nbsp;&#91;</span><span style="color: #0000BB">100</span><span style="color: #007700">&#93;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">vet_s</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">punt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">5</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%99s"</span><span style="color: #007700">,array);&nbsp;</span><span style="color: #FF8000">//&nbsp;stringhe&nbsp;input<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;*(array&nbsp;+</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){&nbsp;</span><span style="color: #FF8000">//&nbsp;conteggio&nbsp;caratteri&nbsp;stringa&nbsp;compreso&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;)&nbsp;</span><span style="color: #0000BB">malloc&nbsp;</span><span style="color: #007700">((</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">)*</span><span style="color: #0000BB">sizeof</span><span style="color: #007700">(</span><span style="color: #0000BB">char</span><span style="color: #007700">));&nbsp;</span><span style="color: #FF8000">//&nbsp;allocazione&nbsp;spazio&nbsp;per&nbsp;la&nbsp;stringa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;*(array&nbsp;+</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){&nbsp;</span><span style="color: #FF8000">//&nbsp;copia&nbsp;da&nbsp;buffer&nbsp;ad&nbsp;allocazione<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">*(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)=&nbsp;*(array&nbsp;+</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">punt&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)=&nbsp;*(array&nbsp;+</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)=&nbsp;</span><span style="color: #0000BB">punt</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;array&nbsp;di&nbsp;stringhe&nbsp;di&nbsp;j&nbsp;punta&nbsp;alla&nbsp;string&nbsp;in&nbsp;input<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Stampa&nbsp;valori&nbsp;inseriti\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">5</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/69-input-stringhe-e-malloc</guid>
		</item>
		<item>
			<title>90 numeri senza ripetizione - Supporto con Array</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/68-90-numeri-senza-ripetizione-supporto-con-array</link>
			<pubDate>Sat, 24 Nov 2012 09:36:23 GMT</pubDate>
			<description><![CDATA[/* 
* 
* Premettendo che questo algoritmo è applicabile solo per *piccoli range di interi, non mi piace! 
* 
*/ 
 
#include &lt;st***.h&gt; 
#include...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />*<br />*&nbsp;Premettendo&nbsp;che&nbsp;questo&nbsp;algoritmo&nbsp;è&nbsp;applicabile&nbsp;solo&nbsp;per&nbsp;*piccoli&nbsp;range&nbsp;di&nbsp;interi,&nbsp;non&nbsp;mi&nbsp;piace!<br />*<br />*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">90</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;creazione&nbsp;array&nbsp;da&nbsp;90<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;index</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;num</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">90</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){&nbsp;</span><span style="color: #FF8000">//&nbsp;arrey&nbsp;rimepito&nbsp;di&nbsp;num&nbsp;da&nbsp;1&nbsp;a&nbsp;90<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">90</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">index</span><span style="color: #007700">=(</span><span style="color: #0000BB">rand</span><span style="color: #007700">()&nbsp;%&nbsp;(</span><span style="color: #0000BB">90</span><span style="color: #007700">-</span><span style="color: #0000BB">i</span><span style="color: #007700">));&nbsp;</span><span style="color: #FF8000">//&nbsp;calcolo&nbsp;numero&nbsp;tra&nbsp;90&nbsp;-&nbsp;i<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">num</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">index</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;identificazione&nbsp;indice&nbsp;vet<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;uscito&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">num</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;stampa&nbsp;num&nbsp;vet&#91;i&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">temp</span><span style="color: #007700">=</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">89</span><span style="color: #007700">-</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;salvataggio&nbsp;last&nbsp;num&nbsp;vet<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">89&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&nbsp;=</span><span style="color: #0000BB">num</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;swap&nbsp;dei&nbsp;due<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">index</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/68-90-numeri-senza-ripetizione-supporto-con-array</guid>
		</item>
		<item>
			<title>Stringa piu lunga</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/62-stringa-piu-lunga</link>
			<pubDate>Mon, 19 Nov 2012 00:15:50 GMT</pubDate>
			<description><![CDATA[Passare alla funzione due stringhe e l'indirizzo di un puntatore. 
 
/* 
 * nella funzione chiamante, fa puntare p alla stringa più corta 
 * 
 */ 
...]]></description>
			<content:encoded><![CDATA[Passare alla funzione due stringhe e l'indirizzo di un puntatore.<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*&nbsp;nella&nbsp;funzione&nbsp;chiamante,&nbsp;fa&nbsp;puntare&nbsp;p&nbsp;alla&nbsp;stringa&nbsp;più&nbsp;corta<br />&nbsp;*<br />&nbsp;*/<br /><br /><br />#include&nbsp;&lt;st***.h&gt;<br />#include&nbsp;&lt;stdlib.h&gt;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;longest_string&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">b</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">p</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">==</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">==</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Invalid&nbsp;strings\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">o_a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">o_b&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;*</span><span style="color: #0000BB">a</span><span style="color: #007700">!=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;*</span><span style="color: #0000BB">b</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">a</span><span style="color: #007700">++,</span><span style="color: #0000BB">b</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(*</span><span style="color: #0000BB">a</span><span style="color: #007700">&gt;*</span><span style="color: #0000BB">b</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">p</span><span style="color: #007700">=</span><span style="color: #0000BB">o_b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">p</span><span style="color: #007700">=</span><span style="color: #0000BB">o_a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/62-stringa-piu-lunga</guid>
		</item>
		<item>
			<title>String Compare + Main</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/61-string-compare-main</link>
			<pubDate>Sun, 18 Nov 2012 14:58:26 GMT</pubDate>
			<description>ecco una versione di string compare con controllo sui puntatori nulli 
 
/* 
 * Qual è il parassita più resistente? Un batterio? Un virus? Una tenia...</description>
			<content:encoded><![CDATA[ecco una versione di string compare con controllo sui puntatori nulli<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*&nbsp;Qual&nbsp;è&nbsp;il&nbsp;parassita&nbsp;più&nbsp;resistente?&nbsp;Un&nbsp;batterio?&nbsp;Un&nbsp;virus?&nbsp;Una&nbsp;tenia&nbsp;intestinale?<br />&nbsp;*&nbsp;Un'idea<br />&nbsp;*<br />&nbsp;*ps&nbsp;_&nbsp;algoritmo&nbsp;di&nbsp;comparazione&nbsp;stringhe&nbsp;+&nbsp;main<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">int&nbsp;string_compare&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">char&nbsp;b</span><span style="color: #007700">&#91;&#93;);<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;a</span><span style="color: #007700">&#91;&#93;=</span><span style="color: #DD0000">"ciao"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;b</span><span style="color: #007700">&#91;&#93;=</span><span style="color: #DD0000">"gio"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">string_compare</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">b</span><span style="color: #007700">));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;string_compare&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">char&nbsp;b</span><span style="color: #007700">&#91;&#93;){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">==</span><span style="color: #0000BB">NULL&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">==</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;*</span><span style="color: #0000BB">a</span><span style="color: #007700">!=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;*</span><span style="color: #0000BB">b</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">a</span><span style="color: #007700">++,</span><span style="color: #0000BB">b</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((*</span><span style="color: #0000BB">a</span><span style="color: #007700">-*</span><span style="color: #0000BB">b</span><span style="color: #007700">)!=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(*</span><span style="color: #0000BB">a</span><span style="color: #007700">-*</span><span style="color: #0000BB">b</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(*</span><span style="color: #0000BB">a</span><span style="color: #007700">-*</span><span style="color: #0000BB">b</span><span style="color: #007700">);<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/61-string-compare-main</guid>
		</item>
		<item>
			<title>Stampare elementi pari e dispari di un vettore - Arit Punt</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/60-stampare-elementi-pari-e-dispari-di-un-vettore-arit-punt</link>
			<pubDate>Sun, 18 Nov 2012 14:28:53 GMT</pubDate>
			<description><![CDATA[Ecco due versioni, la prima usando puntatori e indici, la seconda sfruttando pienaemnte l'aritmetica dei puntatori 
 
/* 
 * Un anelli per domarli 
...]]></description>
			<content:encoded><![CDATA[Ecco due versioni, la prima usando puntatori e indici, la seconda sfruttando pienaemnte l'aritmetica dei puntatori<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*&nbsp;Un&nbsp;anelli&nbsp;per&nbsp;domarli<br />&nbsp;*&nbsp;Un&nbsp;anello&nbsp;per&nbsp;trovarli<br />&nbsp;*&nbsp;un&nbsp;anello&nbsp;per&nbsp;ghermirli<br />&nbsp;*&nbsp;e&nbsp;nell'oscurità&nbsp;..&nbsp;incatenarli<br />&nbsp;*<br />&nbsp;*&nbsp;ps&nbsp;questo&nbsp;programma&nbsp;stampa&nbsp;i&nbsp;numeri&nbsp;pari&nbsp;e&nbsp;dispari&nbsp;in&nbsp;un&nbsp;array<br />&nbsp;*<br />&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">void&nbsp;print_p</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;print_d</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">7</span><span style="color: #007700">&#93;&nbsp;={</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">6</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">};<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">print_p</span><span style="color: #007700">(</span><span style="color: #0000BB">vet</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">print_d</span><span style="color: #007700">(</span><span style="color: #0000BB">vet</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;print_p</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((*(</span><span style="color: #0000BB">vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">))%</span><span style="color: #0000BB">2</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;print_d</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((*(</span><span style="color: #0000BB">vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">))%</span><span style="color: #0000BB">2</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,*(</span><span style="color: #0000BB">vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br />&nbsp;*&nbsp;Un&nbsp;sogno&nbsp;nel&nbsp;sogno<br />&nbsp;*<br />&nbsp;*ps&nbsp;questo&nbsp;algoritmo&nbsp;stampa&nbsp;i&nbsp;numeri&nbsp;pari&nbsp;e&nbsp;dispari&nbsp;sfruttando&nbsp;l'artimetica&nbsp;dei&nbsp;puntatori<br />&nbsp;*/<br /><br /><br />#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">void&nbsp;print_p</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;print_d</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">7</span><span style="color: #007700">&#93;&nbsp;={</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">6</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">};<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">print_p</span><span style="color: #007700">(</span><span style="color: #0000BB">vet</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">print_d</span><span style="color: #007700">(</span><span style="color: #0000BB">vet</span><span style="color: #007700">,</span><span style="color: #0000BB">7</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;print_p</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">init</span><span style="color: #007700">=</span><span style="color: #0000BB">vet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">vet</span><span style="color: #007700">-</span><span style="color: #0000BB">init</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">vet</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((*</span><span style="color: #0000BB">vet</span><span style="color: #007700">)%</span><span style="color: #0000BB">2</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,*</span><span style="color: #0000BB">vet</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;print_d</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">init</span><span style="color: #007700">=</span><span style="color: #0000BB">vet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;</span><span style="color: #0000BB">vet</span><span style="color: #007700">-</span><span style="color: #0000BB">init</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">vet</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((*</span><span style="color: #0000BB">vet</span><span style="color: #007700">)%</span><span style="color: #0000BB">2</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,*</span><span style="color: #0000BB">vet</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/60-stampare-elementi-pari-e-dispari-di-un-vettore-arit-punt</guid>
		</item>
		<item>
			<title>creare uno stack</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/59-creare-uno-stack</link>
			<pubDate>Fri, 16 Nov 2012 18:32:48 GMT</pubDate>
			<description><![CDATA[questo è il mio codice per la creazione di uno stack( si parla di strtture argomento ancora non trattato all'uni) vi posto il codice e vi avviso che...]]></description>
			<content:encoded><![CDATA[questo è il mio codice per la creazione di uno stack( si parla di strtture argomento ancora non trattato all'uni) vi posto il codice e vi avviso che NON FUNZIONA quindi chiunque voglia vederlo e &quot;aggiustarlo&quot;<br />
è gradito<br />
<br />
alcuni dettagli il top indica l'ultimo elemento inserito non la prima locazione dove inserire<br />
<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"><br /><br /></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">struct&nbsp;stack<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;top</span><span style="color: #007700">;<br />};<br /><br /></span><span style="color: #0000BB">void&nbsp;&nbsp;inizializza</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack</span><span style="color: #007700">*);<br /></span><span style="color: #0000BB">int&nbsp;pop</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack</span><span style="color: #007700">*);<br /></span><span style="color: #0000BB">void&nbsp;push</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack</span><span style="color: #007700">*,&nbsp;</span><span style="color: #0000BB">int</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack</span><span style="color: #007700">*);<br /></span><span style="color: #0000BB">int&nbsp;contr</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack</span><span style="color: #007700">*);<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">struct&nbsp;stack&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stack1</span><span style="color: #007700">=</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;</span><span style="color: #FF8000">//&nbsp;Per&nbsp;annullare&nbsp;eventuali&nbsp;worring<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;scelta</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">elemento</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">controllo</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">inizializza</span><span style="color: #007700">(</span><span style="color: #0000BB">stack1</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//inizializza&nbsp;il&nbsp;top&nbsp;a&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">do<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"1:inserisci&nbsp;elemento\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"2:preleva&nbsp;elemento\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"3:stampa&nbsp;elemento\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"4:&nbsp;esci\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">controllo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">contr</span><span style="color: #007700">(</span><span style="color: #0000BB">stack1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">controllo</span><span style="color: #007700">)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;se&nbsp;il&nbsp;top&nbsp;è&nbsp;minore&nbsp;di&nbsp;10&nbsp;posso&nbsp;inserire!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserisci&nbsp;l'elemento:&nbsp;"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">elemento</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">push</span><span style="color: #007700">(</span><span style="color: #0000BB">stack1</span><span style="color: #007700">,</span><span style="color: #0000BB">elemento</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"error\n"</span><span style="color: #007700">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//top&nbsp;&gt;=10&nbsp;&nbsp;&nbsp;non&nbsp;posso&nbsp;inserire&nbsp;:-(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!</span><span style="color: #0000BB">controllo</span><span style="color: #007700">)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//se&nbsp;top&nbsp;è&nbsp;maggiore&nbsp;di&nbsp;0&nbsp;posso&nbsp;prelevare&nbsp;!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">elemento&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">pop</span><span style="color: #007700">(</span><span style="color: #0000BB">stack1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,</span><span style="color: #0000BB">elemento</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;è&nbsp;impossibile&nbsp;prelevare&nbsp;con&nbsp;top&nbsp;=0&nbsp;&nbsp;&nbsp;!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"error\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">controllo</span><span style="color: #007700">)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//qui&nbsp;mi&nbsp;basta&nbsp;sapere&nbsp;che&nbsp;ho&nbsp;1&nbsp;elemento&nbsp;nel&nbsp;mio&nbsp;stack&nbsp;se&nbsp;è&nbsp;così&nbsp;posso&nbsp;stamparlo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">stack1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"stack&nbsp;vuoto\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"arrivederci\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"error"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;while&nbsp;(</span><span style="color: #0000BB">scelta&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;inizializza</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stack1</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Metto&nbsp;nella&nbsp;parte&nbsp;della&nbsp;struttura&nbsp;top&nbsp;puntata&nbsp;dalla&nbsp;variabile&nbsp;stack&nbsp;0&nbsp;questo&nbsp;per&nbsp;far&nbsp;partire&nbsp;lo&nbsp;stack&nbsp;da&nbsp;1&nbsp;situazione&nbsp;pulita<br /></span><span style="color: #007700">}<br /><br /></span><span style="color: #0000BB">int&nbsp;pop</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stack1</span><span style="color: #007700">)<br />{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;x</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//inserisci&nbsp;in&nbsp;x&nbsp;il&nbsp;valore&nbsp;ottenuto&nbsp;da&nbsp;vet&#91;top&#93;&nbsp;sintatticamente&nbsp;va&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scritto&nbsp;così&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top</span><span style="color: #007700">--;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//ho&nbsp;prelevato&nbsp;decremento&nbsp;il&nbsp;top!<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">x</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;push</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stack1</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;x</span><span style="color: #007700">)</span><span style="color: #FF8000">//devo&nbsp;inserire&nbsp;un&nbsp;valore&nbsp;nuovo<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top</span><span style="color: #007700">++;</span><span style="color: #FF8000">//faccio&nbsp;spazio&nbsp;aumentando&nbsp;di&nbsp;1&nbsp;il&nbsp;top<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top</span><span style="color: #007700">&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">x</span><span style="color: #007700">;</span><span style="color: #FF8000">//&nbsp;mi&nbsp;copio&nbsp;il&nbsp;valore&nbsp;nella&nbsp;locazione<br /><br /></span><span style="color: #007700">}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stack1</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top</span><span style="color: #007700">&#93;);</span><span style="color: #FF8000">//stampa&nbsp;alemento&nbsp;indicato&nbsp;dal&nbsp;top<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;contr</span><span style="color: #007700">(</span><span style="color: #0000BB">struct&nbsp;stack&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stack1</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">stack1</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">top&nbsp;</span><span style="color: #007700">&gt;=</span><span style="color: #0000BB">9</span><span style="color: #007700">)</span><span style="color: #FF8000">//&nbsp;occorre&nbsp;studiare&nbsp;come&nbsp;si&nbsp;comporta&nbsp;quando&nbsp;viene&nbsp;chiamato&nbsp;nei&nbsp;casi&nbsp;limiti&nbsp;con&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">top&nbsp;</span><span style="color: #007700">==</span><span style="color: #0000BB">0&nbsp;e&nbsp;con&nbsp;top&nbsp;</span><span style="color: #007700">=-=</span><span style="color: #0000BB">9<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>Broke31</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/59-creare-uno-stack</guid>
		</item>
		<item>
			<title>creare una matrice</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/58-creare-una-matrice</link>
			<pubDate>Thu, 15 Nov 2012 16:24:49 GMT</pubDate>
			<description><![CDATA[questo è il mio sorgente sulla creazione della matrice ve lo posto: 
 
 
 
 
#include &lt;st***.h&gt; 
int flag;//variabile che viene controllata non...]]></description>
			<content:encoded><![CDATA[questo è il mio sorgente sulla creazione della matrice ve lo posto:<br />
<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br /></span><span style="color: #0000BB">int&nbsp;flag</span><span style="color: #007700">;</span><span style="color: #FF8000">//variabile&nbsp;che&nbsp;viene&nbsp;controllata&nbsp;non&nbsp;consente&nbsp;la&nbsp;stampa&nbsp;se&nbsp;non&nbsp;si&nbsp;inizializza&nbsp;o&nbsp;si&nbsp;aquisisce&nbsp;una&nbsp;matrice&nbsp;altenatva&nbsp;a&nbsp;diciararla&nbsp;globale&nbsp;passarla&nbsp;come&nbsp;parametro&nbsp;sempre!<br /></span><span style="color: #0000BB">void&nbsp;acquis</span><span style="color: #007700">(</span><span style="color: #0000BB">int</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">int</span><span style="color: #007700">,</span><span style="color: #0000BB">int</span><span style="color: #007700">,</span><span style="color: #0000BB">int</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;inizializza</span><span style="color: #007700">(</span><span style="color: #0000BB">int</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">int</span><span style="color: #007700">,</span><span style="color: #0000BB">int</span><span style="color: #007700">,</span><span style="color: #0000BB">int</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">int</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">int</span><span style="color: #007700">,</span><span style="color: #0000BB">int</span><span style="color: #007700">,</span><span style="color: #0000BB">int</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;argc</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">argv</span><span style="color: #007700">&#91;&#93;)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;mat</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">scelta</span><span style="color: #007700">,</span><span style="color: #0000BB">size</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">flag</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">=</span><span style="color: #0000BB">5</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;do<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"1:inizializza.\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"2:acquisisci.\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"3:stampa.\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"4:esci\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">inizializza</span><span style="color: #007700">(</span><span style="color: #0000BB">mat</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">,</span><span style="color: #0000BB">size</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">:&nbsp;&nbsp;</span><span style="color: #0000BB">acquis</span><span style="color: #007700">(</span><span style="color: #0000BB">mat</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">,</span><span style="color: #0000BB">size</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">mat</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">,</span><span style="color: #0000BB">size</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"arrivederci\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"scelta&nbsp;errata\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}while(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">!=</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">void&nbsp;acquis</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;mat</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;j</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">flag</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;l'elemento(%d,%d)\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">mat</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;inizializza</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;mat</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;j</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">flag</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mat</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;stampa</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;mat</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;,</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;j</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">flag</span><span style="color: #007700">){</span><span style="color: #FF8000">//&nbsp;if&nbsp;senza&nbsp;condizione&nbsp;valuta&nbsp;solamente&nbsp;se&nbsp;vale&nbsp;vero&nbsp;o&nbsp;falso(0&nbsp;o&nbsp;diverso&nbsp;da&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,</span><span style="color: #0000BB">mat</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inizializza&nbsp;o&nbsp;acquisisci&nbsp;la&nbsp;matrice\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>Broke31</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/58-creare-una-matrice</guid>
		</item>
		<item>
			<title>creazione e uso di una struttura semplice</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/57-creazione-e-uso-di-una-struttura-semplice</link>
			<pubDate>Thu, 15 Nov 2012 16:13:20 GMT</pubDate>
			<description>salve a tutti ho creato una semplice struttura capace di immagazinare dei nomi cognomi e numeri di tel e stamparli nulla di complicato vi posto il...</description>
			<content:encoded><![CDATA[salve a tutti ho creato una semplice struttura capace di immagazinare dei nomi cognomi e numeri di tel e stamparli nulla di complicato vi posto il sorgente non guardate tanto i for servivano a me come prove !!<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br /></span><span style="color: #0000BB">struct&nbsp;agenda</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;nome</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;cognome</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;n_cell</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">10</span><span style="color: #007700">&#93;;<br />}</span><span style="color: #0000BB">agenda1</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;;<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">()<br />{&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">scelta</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for(&nbsp;;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">2</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;il&nbsp;nome&nbsp;\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">gets</span><span style="color: #007700">((</span><span style="color: #0000BB">agenda1</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">nome</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;il&nbsp;cognome\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">gets</span><span style="color: #007700">((</span><span style="color: #0000BB">agenda1</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;il&nbsp;numero&nbsp;di&nbsp;cell&nbsp;\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">gets</span><span style="color: #007700">((</span><span style="color: #0000BB">agenda1</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">n_cell</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">3</span><span style="color: #007700">;</span><span style="color: #0000BB">j</span><span style="color: #007700">++)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"1:stampa&nbsp;nome.\n2:stampa&nbsp;cognome.\n3:stampa&nbsp;n_cell.\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">scelta</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"inserisci&nbsp;un&nbsp;numero&nbsp;da&nbsp;1&nbsp;a&nbsp;3n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">==</span><span style="color: #0000BB">1</span><span style="color: #007700">)?</span><span style="color: #0000BB">puts</span><span style="color: #007700">((</span><span style="color: #0000BB">agenda1</span><span style="color: #007700">+(</span><span style="color: #0000BB">i</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">))-&gt;</span><span style="color: #0000BB">nome</span><span style="color: #007700">):</span><span style="color: #0000BB">scelta</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//if&nbsp;else&nbsp;abreviati<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">==</span><span style="color: #0000BB">2</span><span style="color: #007700">)?</span><span style="color: #0000BB">puts</span><span style="color: #007700">((</span><span style="color: #0000BB">agenda1</span><span style="color: #007700">+(</span><span style="color: #0000BB">i</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">))-&gt;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">):</span><span style="color: #0000BB">scelta</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000BB">scelta</span><span style="color: #007700">==</span><span style="color: #0000BB">3</span><span style="color: #007700">)?</span><span style="color: #0000BB">puts</span><span style="color: #007700">((</span><span style="color: #0000BB">agenda1</span><span style="color: #007700">+(</span><span style="color: #0000BB">i</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">))-&gt;</span><span style="color: #0000BB">n_cell</span><span style="color: #007700">):</span><span style="color: #0000BB">scelta</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;}</span><span style="color: #FF8000">//ultima&nbsp;parentesi&nbsp;del&nbsp;for<br /><br /><br /><br /></span><span style="color: #007700">}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>Broke31</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/57-creazione-e-uso-di-una-struttura-semplice</guid>
		</item>
		<item>
			<title>Lunghezza di una stringa</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/56-lunghezza-di-una-stringa</link>
			<pubDate>Tue, 13 Nov 2012 19:26:02 GMT</pubDate>
			<description>Il programma, data in input una stringa, ne restituisce la sua lunghezza. 
 
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *...</description>
			<content:encoded><![CDATA[Il programma, data in input una stringa, ne restituisce la sua lunghezza.<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*<br /><br />*<br /><br />*&nbsp;Il&nbsp;programma&nbsp;stabilisce&nbsp;la&nbsp;lunghezza&nbsp;di&nbsp;una&nbsp;stringa<br /><br />*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*/<br /><br />#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">void&nbsp;lunghezza_stringa</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stringa</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">lunghezza</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br /><br />{<br /></span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stringa</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;lunghezza&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserisci&nbsp;una&nbsp;stringa:"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">stringa</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">lunghezza_stringa</span><span style="color: #007700">(</span><span style="color: #0000BB">stringa</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">lunghezza</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Calcolo&nbsp;lunghezza&nbsp;della&nbsp;stringa<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"La&nbsp;lunghezza&nbsp;della&nbsp;stringa&nbsp;inserita&nbsp;è&nbsp;uguale&nbsp;a&nbsp;%d.\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">lunghezza</span><span style="color: #007700">);<br /><br />return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;lunghezza_stringa</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">stringa</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">lunghezza</span><span style="color: #007700">)<br /><br />{<br /></span><span style="color: #0000BB">int&nbsp;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Contatore<br /><br /></span><span style="color: #007700">while&nbsp;(*(</span><span style="color: #0000BB">stringa</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;!=&nbsp;</span><span style="color: #DD0000">'\0'</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;Calcolo&nbsp;lunghezza<br /></span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />}<br /><br />*</span><span style="color: #0000BB">lunghezza&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>federicocozza</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/56-lunghezza-di-una-stringa</guid>
		</item>
		<item>
			<title>Comparazione di due stringhe</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/55-comparazione-di-due-stringhe</link>
			<pubDate>Tue, 13 Nov 2012 19:22:50 GMT</pubDate>
			<description><![CDATA[Il programma compara due stringhe immesse dall'utente e verifica se esse sono uguali o meno. 
 
 
/* * * * * * * * * * * * * * * * * * * * * * * * *...]]></description>
			<content:encoded><![CDATA[Il programma compara due stringhe immesse dall'utente e verifica se esse sono uguali o meno.<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*<br />&nbsp;<br />&nbsp;*&nbsp;Il&nbsp;programma&nbsp;verifica&nbsp;se&nbsp;due&nbsp;stringhe&nbsp;sono&nbsp;uguali&nbsp;o&nbsp;meno<br />&nbsp;<br />&nbsp;*<br />&nbsp;<br />&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;*/<br />&nbsp;<br /><br />#include&nbsp;&lt;st***.h&gt;<br /><br /></span><span style="color: #0000BB">int&nbsp;stringhe_uguali</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">str1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">str2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br /><br />{<br /></span><span style="color: #0000BB">char&nbsp;str_1</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">20</span><span style="color: #007700">&#93;;<br /></span><span style="color: #0000BB">char&nbsp;str_2</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">20</span><span style="color: #007700">&#93;;<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserisci&nbsp;la&nbsp;prima&nbsp;stringa:"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">str_1</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inserisci&nbsp;la&nbsp;seconda&nbsp;stringa:"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">str_2</span><span style="color: #007700">);<br /><br />if&nbsp;(</span><span style="color: #0000BB">stringhe_uguali</span><span style="color: #007700">(</span><span style="color: #0000BB">str_1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">str_2</span><span style="color: #007700">)==</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Uguali!!\n"</span><span style="color: #007700">);<br />}<br /><br />if&nbsp;(</span><span style="color: #0000BB">stringhe_uguali</span><span style="color: #007700">(</span><span style="color: #0000BB">str_1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">str_2</span><span style="color: #007700">)==</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Disuguali!!\n"</span><span style="color: #007700">);<br />}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;stringhe_uguali</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">str1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">str2</span><span style="color: #007700">)<br /><br />{<br /></span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Contatore<br /><br /></span><span style="color: #007700">for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;*(</span><span style="color: #0000BB">str1</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=</span><span style="color: #DD0000">'\0'&nbsp;</span><span style="color: #007700">||&nbsp;*(</span><span style="color: #0000BB">str2</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=</span><span style="color: #DD0000">'\0'</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;Comparo&nbsp;stringhe<br /></span><span style="color: #007700">if&nbsp;(*(</span><span style="color: #0000BB">str1</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)!=*(</span><span style="color: #0000BB">str2</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">))&nbsp;{&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Caratteri&nbsp;diversi!<br /></span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />}<br />}<br /><br />return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>federicocozza</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/55-comparazione-di-due-stringhe</guid>
		</item>
		<item>
			<title><![CDATA[Min Max Puntatori a Vettore -&amp;amp;gt; Puntatori di Puntatori]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/54-min-max-puntatori-a-vettore-gt-puntatori-di-puntatori</link>
			<pubDate>Mon, 12 Nov 2012 20:44:13 GMT</pubDate>
			<description><![CDATA[#include &lt;st***.h&gt; 
#define A 4 
 
void min_max_vet(int a[],int size,int **min,int **max); 
void riempi_vet(int vet[],int size); 
 
int main(void){ 
...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#define&nbsp;A&nbsp;4<br /><br /></span><span style="color: #0000BB">void&nbsp;min_max_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">min</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">max</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;riempi_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">A</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">pmin</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">pmax</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">riempi_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">A</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">min_max_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">A</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">pmin</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">pmax</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"min&nbsp;:%d\n"</span><span style="color: #007700">,*</span><span style="color: #0000BB">pmin</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"max&nbsp;:%d\n"</span><span style="color: #007700">,*</span><span style="color: #0000BB">pmax</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">void&nbsp;min_max_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">min</span><span style="color: #007700">,</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">**</span><span style="color: #0000BB">max</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;k</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">minvet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">maxvet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">k</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">minvet</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">maxvet</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&lt;(*</span><span style="color: #0000BB">minvet</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">minvet</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&gt;(*</span><span style="color: #0000BB">maxvet</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">maxvet</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">min</span><span style="color: #007700">=</span><span style="color: #0000BB">minvet</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">max</span><span style="color: #007700">=</span><span style="color: #0000BB">maxvet</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;riempi_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,(</span><span style="color: #0000BB">vet</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/54-min-max-puntatori-a-vettore-gt-puntatori-di-puntatori</guid>
		</item>
		<item>
			<title>Merge Vettori con Funzione</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/53-merge-vettori-con-funzione</link>
			<pubDate>Mon, 12 Nov 2012 20:43:12 GMT</pubDate>
			<description><![CDATA[//dati 2 vettori a,b di interi ordinati, fare il merge di entrambi in un vettore c ordinato 
#include &lt;st***.h&gt; 
#define A 5 
//elementi di A...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//dati&nbsp;2&nbsp;vettori&nbsp;a,b&nbsp;di&nbsp;interi&nbsp;ordinati,&nbsp;fare&nbsp;il&nbsp;merge&nbsp;di&nbsp;entrambi&nbsp;in&nbsp;un&nbsp;vettore&nbsp;c&nbsp;ordinato<br />#include&nbsp;&lt;st***.h&gt;<br />#define&nbsp;A&nbsp;5<br />//elementi&nbsp;di&nbsp;A<br />#define&nbsp;B&nbsp;7<br />//elementi&nbsp;di&nbsp;B<br />#define&nbsp;C&nbsp;(A+B)<br />//elementi&nbsp;di&nbsp;C<br /><br /></span><span style="color: #0000BB">void&nbsp;stampa_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vettore</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;merge_vet_ord</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;b</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;sizea</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;sizeb</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;c</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;sizec</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;riempi_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;sizea</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;ordina_vet&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;sizea</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">A</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;b</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">B</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;c</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">C</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dai&nbsp;valori&nbsp;interi&nbsp;per&nbsp;vettore&nbsp;A\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">riempi_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">A</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ordina_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">A</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dai&nbsp;valori&nbsp;interi&nbsp;per&nbsp;vettore&nbsp;B\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">riempi_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">b</span><span style="color: #007700">,</span><span style="color: #0000BB">B</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ordina_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">b</span><span style="color: #007700">,</span><span style="color: #0000BB">B</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">merge_vet_ord</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">b</span><span style="color: #007700">,</span><span style="color: #0000BB">A</span><span style="color: #007700">,</span><span style="color: #0000BB">B</span><span style="color: #007700">,</span><span style="color: #0000BB">c</span><span style="color: #007700">,</span><span style="color: #0000BB">C</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">stampa_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">c</span><span style="color: #007700">,</span><span style="color: #0000BB">C</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;merge_vet_ord</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;b</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;sizea</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;sizeb</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;c</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;sizec</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">p</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">p1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;sizep</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;sizep1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">,</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;&lt;=</span><span style="color: #0000BB">b</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sizep1</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">sizea</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sizep</span><span style="color: #007700">=</span><span style="color: #0000BB">sizeb</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p</span><span style="color: #007700">=</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p1</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sizep1</span><span style="color: #007700">=</span><span style="color: #0000BB">sizeb</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sizep</span><span style="color: #007700">=</span><span style="color: #0000BB">sizea</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">b</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p1</span><span style="color: #007700">=</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;(</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">sizep1</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;(</span><span style="color: #0000BB">k</span><span style="color: #007700">&lt;(</span><span style="color: #0000BB">sizec</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">));</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(;(</span><span style="color: #0000BB">p</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;&lt;=</span><span style="color: #0000BB">p1</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">&#93;)&nbsp;&amp;&amp;&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">sizep</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;(</span><span style="color: #0000BB">k</span><span style="color: #007700">&lt;(</span><span style="color: #0000BB">sizec</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">));</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">k</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">p</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">k</span><span style="color: #007700">&lt;(</span><span style="color: #0000BB">sizec</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">k</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">p1</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;(</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">sizep</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;(</span><span style="color: #0000BB">k</span><span style="color: #007700">&lt;(</span><span style="color: #0000BB">sizec</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">));</span><span style="color: #0000BB">j</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">k</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">p</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">j</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;stampa_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vettore</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,</span><span style="color: #0000BB">vettore</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;riempi_vet</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">&#91;&#93;,&nbsp;</span><span style="color: #0000BB">int&nbsp;sizea</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">sizea</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;ordina_vet&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;vet</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;sizea</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">c</span><span style="color: #007700">,</span><span style="color: #0000BB">temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;(</span><span style="color: #0000BB">sizea</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">);</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">c</span><span style="color: #007700">=(</span><span style="color: #0000BB">i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">);</span><span style="color: #0000BB">c</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">sizea</span><span style="color: #007700">;</span><span style="color: #0000BB">c</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;&gt;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#93;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">temp</span><span style="color: #007700">=</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">vet</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">c</span><span style="color: #007700">&#93;=</span><span style="color: #0000BB">temp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/53-merge-vettori-con-funzione</guid>
		</item>
		<item>
			<title>Inizializzazione mesh x,y,z,n - Primo test con strutture e typedef</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/52-inizializzazione-mesh-x-y-z-n-primo-test-con-strutture-e-typedef</link>
			<pubDate>Sun, 11 Nov 2012 12:32:15 GMT</pubDate>
			<description>considero la crazione di un array di tipo struct, composto da 4 variabili intere, le prime tre per coordinate in uno spazio tridimensionale, la...</description>
			<content:encoded><![CDATA[considero la crazione di un array di tipo struct, composto da 4 variabili intere, le prime tre per coordinate in uno spazio tridimensionale, la quarta per l'indice.<br />
Ogni elemento dell'array rappresenta un punto della mesh nello spazio.<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br />#define&nbsp;MESH_SIZE&nbsp;100<br /></span><span style="color: #0000BB">typedef&nbsp;struct&nbsp;punti_mesh</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;x</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//coordinata&nbsp;x<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;y</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//coordianta&nbsp;y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;z</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//coordianta&nbsp;z<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//indice&nbsp;del&nbsp;punto<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}</span><span style="color: #0000BB">mesh_point</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">void&nbsp;init_mesh</span><span style="color: #007700">(</span><span style="color: #0000BB">mesh_point&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size_mesh</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mesh_point&nbsp;mesh</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">MESH_SIZE</span><span style="color: #007700">&#93;;&nbsp;</span><span style="color: #FF8000">//&nbsp;definiamo&nbsp;una&nbsp;mesh&nbsp;di&nbsp;tipo&nbsp;struct&nbsp;punti_mesh&nbsp;grande&nbsp;mesh_size<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">init_mesh</span><span style="color: #007700">(</span><span style="color: #0000BB">mesh</span><span style="color: #007700">,</span><span style="color: #0000BB">MESH_SIZE</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;inizializziamo&nbsp;una&nbsp;mesh<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;init_mesh</span><span style="color: #007700">(</span><span style="color: #0000BB">mesh_point&nbsp;a</span><span style="color: #007700">&#91;&#93;,</span><span style="color: #0000BB">int&nbsp;size_mesh</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size_mesh</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;.</span><span style="color: #0000BB">x</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;.</span><span style="color: #0000BB">y</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;.</span><span style="color: #0000BB">z</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;.</span><span style="color: #0000BB">n</span><span style="color: #007700">=</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/52-inizializzazione-mesh-x-y-z-n-primo-test-con-strutture-e-typedef</guid>
		</item>
		<item>
			<title>Fibonacci - Lineare e Procedurale ricorsivo</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/49-fibonacci-lineare-e-procedurale-ricorsivo</link>
			<pubDate>Sat, 03 Nov 2012 20:07:10 GMT</pubDate>
			<description><![CDATA[Il Lineare è nettamente più veloce. Poco spazio in memoria occupato e stack ridotto. 
Lineare 
 
#include &lt;st***.h&gt; 
int main(void){ 
    int i,n; 
   ...]]></description>
			<content:encoded><![CDATA[Il Lineare è nettamente più veloce. Poco spazio in memoria occupato e stack ridotto.<br />
Lineare<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">n</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">long&nbsp;int&nbsp;a</span><span style="color: #007700">,</span><span style="color: #0000BB">b</span><span style="color: #007700">,</span><span style="color: #0000BB">c</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dare&nbsp;Numero&nbsp;di&nbsp;Fibonacci\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"0\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">1</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"1\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">2</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">+</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">=</span><span style="color: #0000BB">c</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"%lu\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">c</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Ricorsivo<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br /></span><span style="color: #0000BB">long&nbsp;int&nbsp;fib</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dare&nbsp;Numero&nbsp;di&nbsp;Fibonacci\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%lu\n"</span><span style="color: #007700">,(</span><span style="color: #0000BB">fib</span><span style="color: #007700">(</span><span style="color: #0000BB">n</span><span style="color: #007700">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">long&nbsp;int&nbsp;fib</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">1</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(</span><span style="color: #0000BB">fib</span><span style="color: #007700">(</span><span style="color: #0000BB">n</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">)+</span><span style="color: #0000BB">fib</span><span style="color: #007700">(</span><span style="color: #0000BB">n</span><span style="color: #007700">-</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/49-fibonacci-lineare-e-procedurale-ricorsivo</guid>
		</item>
		<item>
			<title>Numeri Primi - Fast Alpha</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/48-numeri-primi-fast-alpha</link>
			<pubDate>Sat, 03 Nov 2012 20:04:46 GMT</pubDate>
			<description>Algoritmo in loop per trovare i numeri primi. Si testano i numeri fino alla radice del numero preso in esame e se un numero non è divisibile per 2, i...</description>
			<content:encoded><![CDATA[Algoritmo in loop per trovare i numeri primi. Si testano i numeri fino alla radice del numero preso in esame e se un numero non è divisibile per 2, i fattori pari non vengono testati<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;<br /></span><span style="color: #0000BB">void&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">,</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">p</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">=</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">1</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">2</span><span style="color: #007700">;(</span><span style="color: #0000BB">i</span><span style="color: #007700">*</span><span style="color: #0000BB">i</span><span style="color: #007700">)&lt;=</span><span style="color: #0000BB">n</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">+=</span><span style="color: #0000BB">a</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((</span><span style="color: #0000BB">n</span><span style="color: #007700">%</span><span style="color: #0000BB">i</span><span style="color: #007700">)==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">==</span><span style="color: #0000BB">2</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">p</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/48-numeri-primi-fast-alpha</guid>
		</item>
		<item>
			<title>Scomposizione in fattori primi</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/47-scomposizione-in-fattori-primi</link>
			<pubDate>Thu, 11 Oct 2012 22:39:39 GMT</pubDate>
			<description>Il seguente codice, permette di ottenere la scomposizione in fattori primi di un numero intero dato in input. 
I numeri vengono testati fino alla metà...</description>
			<content:encoded><![CDATA[Il seguente codice, permette di ottenere la scomposizione in fattori primi di un numero intero dato in input.<br />
I numeri vengono testati fino alla metà del numero sorgente, soglia oltre la quale un numero non può essere divisibile interamente.<br />
Chiaramente il codice potrebbe essere ottimizzato per evitare calcoli inutili, per ora quindi siamo in una versione iniziale.<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//testing&nbsp;c#include&nbsp;&lt;st***.h&gt;<br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">,</span><span style="color: #0000BB">norig</span><span style="color: #007700">,</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dammi&nbsp;un&nbsp;numero&nbsp;intero&nbsp;positivo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">norig</span><span style="color: #007700">=</span><span style="color: #0000BB">n</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Numero&nbsp;originale:&nbsp;%d\n"</span><span style="color: #007700">,</span><span style="color: #0000BB">norig</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">&lt;=(</span><span style="color: #0000BB">norig</span><span style="color: #007700">/</span><span style="color: #0000BB">2</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">%</span><span style="color: #0000BB">a</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">k</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"I&nbsp;fattori&nbsp;primi&nbsp;sono:&nbsp;"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d&nbsp;"</span><span style="color: #007700">,</span><span style="color: #0000BB">a</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">=</span><span style="color: #0000BB">n</span><span style="color: #007700">/</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">==</span><span style="color: #0000BB">norig</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Il&nbsp;numero&nbsp;è&nbsp;primo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/47-scomposizione-in-fattori-primi</guid>
		</item>
		<item>
			<title><![CDATA[Decimale -&amp;amp;gt; Binario - 2 metodi]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c/46-decimale-gt-binario-2-metodi</link>
			<pubDate>Thu, 11 Oct 2012 22:34:59 GMT</pubDate>
			<description>Conversione decimale in binario. 
Un metodo utilizza solo variabili senza alcun operatore booleano, è più costoso in termine di programmazione e di...</description>
			<content:encoded><![CDATA[Conversione decimale in binario.<br />
Un metodo utilizza solo variabili senza alcun operatore booleano, è più costoso in termine di programmazione e di esecuzione ma .... funziona.<br />
Il secondo utilizza un intero come se fosse uno stack e gli operatori booleani permettono di calcoli bit a bit<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;int&nbsp;main&nbsp;(void){<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;n&nbsp;è&nbsp;il&nbsp;numero&nbsp;originale,norig&nbsp;è&nbsp;una&nbsp;copia&nbsp;di&nbsp;n,&nbsp;a&nbsp;conta&nbsp;il&nbsp;numero&nbsp;di&nbsp;divisioni&nbsp;di&nbsp;n&nbsp;per&nbsp;2&nbsp;in&nbsp;andata,i&nbsp;conta&nbsp;le&nbsp;divisioni&nbsp;di&nbsp;n&nbsp;in&nbsp;ritorno<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*conoscendo&nbsp;a,k&nbsp;è&nbsp;un&nbsp;incremento&nbsp;associato&nbsp;a&nbsp;i&nbsp;per&nbsp;dividere&nbsp;n&nbsp;tot&nbsp;volte&nbsp;diviso&nbsp;2&nbsp;in&nbsp;ritorno.*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">,</span><span style="color: #0000BB">norig</span><span style="color: #007700">,</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">,</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dare&nbsp;un&nbsp;numero&nbsp;intero&nbsp;positivo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dare&nbsp;un&nbsp;numero&nbsp;intero&nbsp;positivo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">norig</span><span style="color: #007700">=</span><span style="color: #0000BB">n</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;inizio&nbsp;calcolo&nbsp;ultimo&nbsp;resto&nbsp;in&nbsp;andata&nbsp;in&nbsp;a&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">while&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">n</span><span style="color: #007700">%</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">/=</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;fine&nbsp;calcolo&nbsp;ultimo&nbsp;resto&nbsp;in&nbsp;andata&nbsp;in&nbsp;a&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,</span><span style="color: #0000BB">a</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">--;&nbsp;</span><span style="color: #FF8000">//&nbsp;ultimo&nbsp;resto&nbsp;già&nbsp;stampato&nbsp;quindi&nbsp;tolgo&nbsp;una&nbsp;divisione<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">while(</span><span style="color: #0000BB">i</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">=</span><span style="color: #0000BB">norig</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">k</span><span style="color: #007700">!=(</span><span style="color: #0000BB">i</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">)){&nbsp;</span><span style="color: #FF8000">//&nbsp;il&nbsp;resto&nbsp;è&nbsp;uguale&nbsp;al&nbsp;modulo&nbsp;del&nbsp;dividendo&nbsp;per&nbsp;il&nbsp;divisore,&nbsp;il&nbsp;dividendo&nbsp;è&nbsp;un&nbsp;ordine&nbsp;più&nbsp;grande&nbsp;e&nbsp;quindi&nbsp;i-1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">/=</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">n</span><span style="color: #007700">%</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,</span><span style="color: #0000BB">a</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">--;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;st***.h&gt;int&nbsp;main&nbsp;(void){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;a</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unsigned&nbsp;int&nbsp;b</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;n</span><span style="color: #007700">,</span><span style="color: #0000BB">r</span><span style="color: #007700">,</span><span style="color: #0000BB">i</span><span style="color: #007700">,</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dare&nbsp;un&nbsp;numero&nbsp;intero&nbsp;positivo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dare&nbsp;un&nbsp;numero&nbsp;intero&nbsp;positivo\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">scanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">n</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">n</span><span style="color: #007700">!=</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">&lt;&lt;=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">r</span><span style="color: #007700">=</span><span style="color: #0000BB">n</span><span style="color: #007700">%</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">/=</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">|=</span><span style="color: #0000BB">r</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">k</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">i</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">=</span><span style="color: #0000BB">k</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">=</span><span style="color: #0000BB">a</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">,</span><span style="color: #0000BB">b</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">&gt;&gt;=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c">C</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c/46-decimale-gt-binario-2-metodi</guid>
		</item>
	</channel>
</rss>
