APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture

Slides:



Advertisements
Presentazioni simili
INFORMATICA Algoritmi fondamentali
Advertisements

Uso avanzato di C.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
La ricorsione Simulazione. Il Main /* Programma che usa una funzione ricorsiva*/ #include #define MAX_N 8 main() int valore, dato; printf(Introduci n:
APPUNTI SUL LINGUAGGIO C
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Esercizi su alberi binari
Strutture di controllo in C -- Flow Chart --
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
Esercizi C su array e matrici
Le liste dinamiche La ricorsione
Le funzioni.
Massimo Comun Divisore
Programmazione di Calcolatori
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.
Esercizi La distanza di hamming tra due interi x e y si definisce come il numero di posizioni nella rappresentazione binaria di x e y aventi bit differenti.
Ricerca sequenziale in un array di interi
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);/*
Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un problema risolvibile mediante un algoritmo.
Algoritmi di Ordinamento
A LGORITMI DI ORDINAMENTO Cinzia Reverberi. COS’È UN ALGORITMO? Un algoritmo è un insieme ben ordinato di operazioni non ambigue ed effettivamente calcolabili.
ALGORITMI Un algoritmo è un insieme di istruzioni: -ordinate -non ambigue -effettivamente computabili.
Array (ordinamento) CORDA – Informatica A. Ferrari.
ALGORITMO Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un formalismo che permette di rappresentare.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Definizione di algoritmo: Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un problema risolvibile.
Operatori di incremento e decremento
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Matteo Ferroni –
© 2007 SEI-Società Editrice Internazionale, Apogeo
Esercitazioni di Prog. II (esercizi su alberi ennari)
PICCOLA GUIDA PER FUNZIONI REALI A DUE VARIABILI
7. Strutture di controllo Ing. Simona Colucci
10. Programmazione Ricorsiva Ing. Simona Colucci
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
CICLO DO – WHILE LINGUAGGIO C.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Secondo Programma in C.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Programmazione e Laboratorio di Programmazione
Alberi n-ary Lezioni di C.
APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C
comprensione e modifica di codice
comprensione e modifica di codice
PICCOLA GUIDA PER FUNZIONI REALI A DUE VARIABILI
APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C Simulazione Prima Prova Intermedia
Programmazione e Laboratorio di Programmazione
“Il piano cartesiano e la retta”
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Process synchronization
Programmazione e Laboratorio di Programmazione
APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Passaggio di parametri per indirizzo
Array e Stringhe Linguaggio C.
Programmazione e Laboratorio di Programmazione
Algoritmi di ordinamento
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture Corso di Calcolatori Elettronici APPUNTI SUL LINGUAGGIO C Esercitazione II Esercizi sugli array e strutture

Array Oss. N sia una costante (per esempio 5). Esercizio: Dati N numeri memorizzarli in un array e poi stampare il minimo e il massimo elemento tra gli N forniti da input. Oss. N sia una costante (per esempio 5).

Array #include <stdio.h> #define N 5 /* è noto a tutti che la dimensione del vettore è N */ int minimo (int vet[]) { int i, min; min = vet[0]; for (i = 1; i<N; i ++) if (vet[i]<min) min = vet[i]; return min; } int massimo (int vet[]) { int i, max; max = vet[0]; if (vet[i]>max) max = vet[i]; return max;

Array main () { int i, a[N]; printf ("Scrivi %d numeri interi\n", N); for (i = 0; i<N; i++) scanf ("%d", &a[i]); printf ("Il minimo vale %d e il massimo è %d\n", minimo(a), massimo(a)); }

Array Dati N valori interi forniti in ordine qualunque, memorizzarli in un array e poi stampare in uscita l'elenco dei valori dati in ordine crescente. Oss. N sia una costante (per esempio 5). Vettore di elementi di un certo tipo, sul quale è definita una relazione d’ordine totale : – Selection sort, o ordinamento per minimi successivi: – Ad ogni passo seleziona il minimo nel vettore e lo pone nella prima posizione, richiamandosi ed escludendo dal vettore il primo elemento.

Array posmin 2 5 1 -1 posmin -1 5 1 2 -1 5 1 2 Vettore corrente [0] [1] [2] [3] 2 5 1 -1 posmin [0] [1] [2] [3] [0] [1] [2] [3] -1 5 1 2 -1 5 1 2 Vettore corrente

Array #include <stdio.h> #define N 5 void leggi(int a[]) { int i; printf ("Scrivi %d interi\n", N); for (i = 0; i < N; i++) scanf ("%d", &a[i]); } void scrivi(int a[]) { printf ("Vettore ordinato:\n"); printf ("%d \t", a[i]);

Array void sort (int vet[]) { int j, i, posmin, min; for (j=0; j < N; j++) { posmin=j; min = vet[j]; for (i=j+1;i<N; i++) if (vet[i]<min) { min=vet[i]; posmin=i; } if (posmin != j) { /*scambio */ vet[posmin]=vet[j]; vet[j]= min;

Array main () { int i, a[N]; leggi(a); sort(a); scrivi(a); }

Strutture Si gestiscano insiemi di N punti Esercizio: Si considerino i punti su di un piano cartesiano. Ogni punto è costituito da una coppia di coordinate (X,Y). Si definisca un progetto con le seguenti funzionalità: Si gestiscano insiemi di N punti un metodo per inizializzare gli elementi di un insieme un metodo per stampare su video gli elementi di un insieme Un metodo che dati due punti generi il punto medio Un metodo che dati due punti calcoli la distanza tra i due Un metodo che dato un punto calcoli in quale quadrante appartiene (si consideri un numero intero compreso tra 1 e 4) Un metodo che dato l’insieme di punti e il numero di quadrante (un numero intero tra 1 e 4) calcoli il numero di punti dell’insieme che appartengono a quel quadrante Oss. N sia una costante (per esempio 10).

Stringhe Esercizio: Si considerino stringhe lunghe massimo 30 caratteri (considerare solo le lettere minuscole). Si definisca un progetto in linguaggio C che gestisca stringhe di questo tipo e in particolare la funzionalità che data una stringa calcoli la lettera con occorrenza massima (in caso di pari occorrenza ritornare la prima in ordine). Oss. Si considerino tali stringhe attingere dal seguente vocabolario: {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}

APPUNTI SUL LINGUAGGIO C Esercizi su array e strutture Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C Esercizi su array e strutture FINE