<H1>Fondamenti di Programmazione a.a. 2009-2010 <SMALL>(canale E-O)</SMALL></H1> <BIG> Docente: Riccardo Silvestri <BR> Esercitatore: Paul Wollan <BR> </BIG> <H2>Laboratorio di mercoledì 28 ottobre 2009</H2> <DIV ALIGN="justify" style="margin-left:5%; margin-right:10%"> <OL> <LI>Scrivere una funzione, <CODE>long long mcd(long long x, long long y)</CODE>, che calcola il massimo comun divisore di <CODE>x</CODE> e <CODE>y</CODE> tramite l'algoritmo di Euclide. Confrontare tale funzione con una implementazione più diretta (ma anche molto meno efficiente): <PRE> long long mcd2(long long x, long long y) { long long d = x; if (d > y) d = y; while (d > 1 && ((x % d) != 0 || (y % d) != 0)) d--; return d; } </PRE> Usare la funzione <CODE>rand()</CODE> per generare input pseudo-casuali per le due funzioni. Si potrebbe usare la funzione <CODE>clock()</CODE> in <CODE>time.h</CODE> per misurare i tempi di calcolo. <LI> Scrivere un programma che legge <CODE>n</CODE> interi e li stampa ordinati in senso crescente. Usare una funzione per ordinare il vettore di interi in cui sono memorizzati gli interi letti dall'input. Si può usare una delle funzioni viste a lezione: <CODE>selectionsort()</CODE> o <CODE>bubblesort()</CODE>. <LI>Scrivere un programma che legge <CODE>n</CODE> interi e stampa tutti quelli che si ripetono almeno due volte e per ognuno di essi il numero di volte che si ripete. Ad esempio, se gli interi in input sono <CODE>2, 4, 2, 5, 3, 2, 4</CODE>, il programma stampa: <PRE> 2: 3 4: 2 </PRE> Ordinare gli interi in input tramite un funzione che ordina un vettore di interi. </LI> </OL>
This topic: Programmazione1
>
WebHome
>
FP_EO
>
FPdiario0910
>
FPlab281009
Topic revision: r1 - 2009-10-29 - RiccardoSilvestri
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback