• Non ci sono risultati.

Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 18 giugno 2015

N/A
N/A
Protected

Academic year: 2021

Condividi "Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 18 giugno 2015"

Copied!
1
0
0

Testo completo

(1)

Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I

Prova scritta del 18 giugno 2015

Esercizio 1 (15 punti)

Una comunità di un numero N (minore o uguale a 1000) di individui deve eleggere il proprio capo. Il meccanismo di votazione è molto semplice:

1) non ci sono liste di candidati (cioè tutti possono essere votati)

2) ogni individuo può votare per una o più altre persone, esprimendo da 0 (scheda bianca) a N voti (è consentito votare per se stessi ma non due volte per la stessa persona)

4) viene eletto chi ha ricevuto il massimo numero di voti; in caso di parità si sceglie a caso uno dei vincitori

Al termine della votazione i voti risultano memorizzati in un file il cui formato può essere dedotto dal seguente esempio:

3 ROSSI VERDI BIANCHI 2 GIALLI VERDI

1 NERI 0

4 BIANCHI NERI ROSSI VERDI

Si osservi che i nomi sono unici e sempre costituiti da una sola parola interamente scritta in maiuscolo. Ogni riga rappresenta una scheda elettorale compilata e il numero all’inizio indica il numero di voti espressi in tale scheda.

Si assuma che il file non contenga errori e soddisfi le regole sopra riportate.

Si scriva una funzione in linguaggio C che riceva come argomento il nome di un file siffatto e restituisca, in un’apposita struttura, il nome del vincitore e il numero di voti ricevuti.

NOTA - Nell’esempio seguente:

2 NERI GIALLI

3 GIALLI NERI BIANCHI

la funzione può restituire come vincitore GIALLI o NERI, indifferentemente.

Esercizio 2 (15 punti)

Un file contiene una matrice di numeri interi, di dimensione massima 20x20, il cui formato può essere dedotto dal seguente esempio:

3 6

5 0 7 445 99 8 2 -12 99 0 5 8 445 445 0 -100 7 25

Come si può osservare, la prima riga riporta il numero di righe e il numero di colonne della matrice.

Un secondo file contiene un elenco di numeri interi, su una o più righe, come nel seguente esempio:

6 154 99 2 -12 445 0

Si scriva un programma che riceva sulla riga di comando il nome di due file nei formati sopra descritti, e scriva sul monitor, per ciascuno dei numeri contenuti nel secondo file, le coordinate della matrice alle quali si trova tale numero. Il formato di stampa deve essere quello del seguente esempio, che si riferisce ai file sopra riportati:

6:

154:

99: {0, 4} {1, 2}

2: {1, 0}

-12: {1, 1}

445: {0, 3} {2, 0} {2, 1}

0: {0, 1} {1, 3} {2, 2}

Riferimenti

Documenti correlati

Si scriva una funzione in linguaggio C che riceva come argomenti un vettore di stringhe, contenenti ciascuna il nome di un file del tipo sopra descritto, e un

Si scriva una funzione che riceva come argomenti il nome del file di equivalenze sopra descritto, il nome di un file di grandezze (con i punti interrogativi) e il nome di un file

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file di dizionario nel formato dell’esempio sopra riportato e il nome di un file

Al termine dell’esecuzione delle operazioni specificate nel file di ingresso il programma dovrà stampare i valori contenuti in tutte e sole le celle di memoria che

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di due file come quelli sopra descritti e stampi il numero delle repliche

Poiché gli identificatori (numeri) delle tessere sono univoci e nella griglia è presente una sola posizione vuota, ogni mossa può semplicemente essere indicata

Per fare questo, si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file come sopra descritto e stampi l’elenco dei

Successivamente, per ogni cifra del tentativo non ancora utilizzata si cerca lo stesso valore tra le cifre non ancora utilizzate del numero segreto e, se lo si trova,