Dato un vettore di reali di dimensione DIM, si inseriscano N elementi presi da tastiera, si utilizzi 0 per terminare l’inserimento. Ordinare gli elementi.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

INFORMATICA Altre Istruzioni di I/O
1 La Standard Template Library vettori, liste, mappe, …. find, replace, reverse, sort, …. puntatori intelligenti La libreria standard STL e una libreria.
Uso avanzato di C.
Nel C non esiste un dato primario di tipo stringa; queste sono rappresentate con un array monodimensionale di caratteri (tipo char). Così per definire.
Introduzione al linguaggio C
Stringhe di caratteri In linguaggio C.
Array multidimensionali
Marco Barisione Estendere Python in C.
Differenze tra C e C++ Commenti: Adesso puoi inserire dei commenti tra // e la fine della linea. Usare le librerie C: In C++ puoi anche chiamare una funzione.
Introduzione al linguaggio C
Le funzioni.
Un nuovo tipo di dati Gli array.
Algoritmi in C++ (1) da completare
Programmazione Procedurale in Linguaggio C++
PROGRAMMI DI RICERCA E ORDINAMENTO
STRUTTURE DATI e LABORATORIO II ESERCITAZIONE N°13 Heap massimo.
Tail recursion: esempio
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Laboratorio di Linguaggi lezione IX: Dentro le Librerie Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Funzioni di Libreria per le stringhe DICHIARAZIONI CONTENUTE NEL FILE: char *strcpy( char *dest, const char *sorg ); Copia sorg in dest, incluso il carattere.
Esercizi su code Date due code in ingresso a valori interi in ordine crescente, scrivere una funzione che restituisca una terza coda che contenga i valori.
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Esercizi C sui tipi definiti dall’utente
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
Esercizi C su array e matrici
Algebra Lineare Esercizi assegnati.
Le funzioni.
Crivello Di Eratostene (fonte wikipedia
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Massimo Comun Divisore
Programmazione di Calcolatori
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
1 Astrazioni sui dati : Ragionare sui Tipi di Dato Astratti dispense prof. G. Levi.
Unità Didattica 3 Linguaggio C
Programmazione di Calcolatori
Esercizi su File.
Esercizi Liste.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Corso JAVA Lezione n° 12 Istituto Statale di Istruzione Superiore “F. Enriques”
Grafi Rappresentazione mediante liste di adiacenza:
Tail recursion: esempio
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 9 Tipi parametrici Collezioni generiche. Strutture matematiche parametriche.
Complessità di un algoritmo
Corso di Programmazione Grafica e Laboratorio Daniele Marini
1 Esempi domande di esame. 2 Dato il seguente programma #include int main(){ int *p,j=9,i=5; p=&j; *p=i; printf("%d %d %d\n", i,j,*p); scanf("%d",p);/*
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR Introduzione al C Esercitazione 5 D. Bloisi, A.
Programmazione in linguaggio C
Esercitazioni su liste
#include void main() { int a,b,c,; float s, x,x1,x2,delta,alfa,beta; int num[3]; int i; printf("La forma classica dell'equazione di 2° grado è: a*x^2+b*x+c=0\n.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Puntatori e Stringhe.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Politecnico di Milano © Domenico Barretta Processi concorrenti in Unix Docente Domenico Barretta Politecnico di Milano
CORSO DI PROGRAMMAZIONE II
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 2: 20 Aprile 2015 Marco D. Santambrogio – Gianluca Durelli –
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
ALLOCAZIONE STATICA: LIMITI Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente –la loro esistenza deve essere prevista e.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (III)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 L Aprile 2015 Marco D. Santambrogio – Gianluca Durelli -
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 3: 27 Aprile 2015 Marco D. Santambrogio – Gianluca Durelli –
Esercitazioni su alberi
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi sui dati strutturati 13 Tipi di dati strutturati.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi su stringhe e file 15 Stringhe e file.
Transcript della presentazione:

Dato un vettore di reali di dimensione DIM, si inseriscano N elementi presi da tastiera, si utilizzi 0 per terminare l’inserimento. Ordinare gli elementi del vettore sfruttando la funzione di libreria qsort (parametrica nella funzione di confronto), definita nella libreria stdlib.h. Si stampi infine il vettore ordinato. Esercizio sull’ordinamento di un array: qsort

Funzione generica di libreria (stdlib.h): void qsort(void *base, size_t n, size_t width, int (*fcmp) (const void *el1, const void *el2)); Consultare l’help di Visual Studio per le informazioni sugli argomenti richiesti dalla funzione. Esercizio sull’ordinamento di un array : qsort

SUPPLEMENTARE: Si modifichi il programma appena creato in modo tale da operare su un vettore di elementi di tipo generico. A tal fine si crei: Un file di libreria (element_float.c e rispettivo element_float.h) in cui si definisce il tipo di dato ELEMENT nel seguente modo typedef float ELEMENT; e le corrispondenti funzioni int compare (const void *el1, const void *el2) da usare con la funzione qsort, ELEMENT insert () prende in input un dato di tipo ELEMENT e lo restituisce, void print (ELEMENT el) stampa a video el per gestire gli elementi di tipo float. SUGGERIMENTO: all’interno di compare si dovrà fare un cast da element a float. Esercizio sull’ordinamento di un array : qsort

Un secondo file di libreria (element_int.c e rispettivo element_int.h) in cui si definisce il tipo di dato ELEMENT nel seguente modo typedef int ELEMENT; e la corrispondenti funzioni int compare (const void *el1, const void *el2 ELEMENT insert () void print (ELEMENT el) per gestire gli elementi di tipo int. Esercizio sull’ordinamento di un array : qsort

Un terzo file contenente la funzione main che includerà UNA sola tra le due librerie appena definite. Il main dovrà dichiareare un vettore di dimensione DIM di dati di tipo ELEMENT, prendere in ingresso da tastiera i valori di tipo ELEMENT (terminare l’inserimento con 0), inserendoli nel vettore. Ordinare il vettore di elementi sfruttando la funzione qsort. Stampare il vettore ordinato. Scambiando la libreria inclusa (element_float con element_int), la funzione main funzionerà ugualmente senza necessità di modificare alcuna sua parte. Esercizio sull’ordinamento di un array : qsort