• Non ci sono risultati.

1.Sia dato un file chiamato

N/A
N/A
Protected

Academic year: 2021

Condividi "1.Sia dato un file chiamato"

Copied!
1
0
0

Testo completo

(1)

U N I V E R S I T À D E G L I S T U D I D I P I S A F A C O L T À D I I N G E G N E R I A

CORSO di LAUREA in INGEGNERIA delle TELECOMUNICAZIONI ESAME DI FONDAMENTI DI INFORMATICA - SIMONCINI – 12/09/2002 - C++

1. Sia dato un file chiamato numeri.txt contenente un insieme di valori interi. Si scriva una funzione estremi() che trova il massimo ed il minimo valore contenuti nel file numeri.txt.

Questa funzione deve anche costruire un nuovo file numeri_bis.txt che contiene gli stessi elementi di numeri.txt con l’eccezione di tutte le occorrenze del massimo e del minimo.

2. Sia data una matrice H di dimensione MxM a valori interi. Si scriva una funzione controlla(a, c) che riceve in ingresso due array a e c di dimensione N a valori interi. La funzione modifica l’array c in modo tale che il generico elemento c[i] vale 1 se il valore del corrispondente elemento a[i] compare nella matrice H, 0 altrimenti.

3. Sia data una lista semplice l i cui elementi hanno due campi informativi interi. Si scriva una funzione coppie(l) che elimina tutti gli elementi di l che hanno entrambi i campi minori dei corrispondenti campi della testa della lista stessa.

4. Dati i numeri decimali A=155, B=-83 e C=79, si determini il minimo numero di bit necessari per rappresentare contemporaneamente i suddetti numeri in complemento a 2 e se ne dia la rappresentazione. Utilizzando poi lo stesso numero di bit, si esegua l’operazione D=B-A e si dica se il risultato ottenuto è o no significativo.

Punteggio:

Es.1 Es.2 Es.3 Es.4

10 10 10 3

1.

#include <fstream.h>

Risultati e Soluzione del compito:http://www.iei.pi.cnr.it/~glami/elenco-compiti.htm

(2)

U N I V E R S I T À D E G L I S T U D I D I P I S A F A C O L T À D I I N G E G N E R I A

CORSO di LAUREA in INGEGNERIA ELETTRONICA

void estremi { bool contr=F;

fstream f, g;

int a, x, min, max;

f.open(“numeri.txt”, ios::in);

if (f>>max)

{ while(f>>min)

{ if(max!=min) { contr=T;

break; } else return; }

if((!contr) return;

} else return;

if(max<min) { a=max;

max=min;

min=a;

} while(f>>x)

{ if(x>max) max=x;

if(x<min) min=x;

}

f.close();

f.open(“numeri.txt”, ios::in);

g.open(“numeri_bis.txt, ios::out);

while(f>>x) {

if((x!=max)&&(x!=min)) g<<x;

} f.close();

g.close();

}

2.

void controllo (int a[N], int c[N]) {

bool contr = F;

for (int i=0; i<N; i++) c[i] =0;

for(i=0; i<N; i++)

for(int j=0; j<M; j++)

for(int h=0; h<M; h++) {

if(a[i]==M[j][h]) { c[i]=1;

contr=T;

(3)

U N I V E R S I T À D E G L I S T U D I D I P I S A F A C O L T À D I I N G E G N E R I A

CORSO di LAUREA in INGEGNERIA ELETTRONICA

break;

} }

if(contr) break;

} contr=F;

} }

3.

struct elem { int a;

int b;

elem* next;

}

void coppie (elem *l) {

int at, bt;

elem *aux, *aux2;

if (l==0) return;

if(l->next==0) return;

at= l->a;

bt=l->b;

aux=l->next;

aux2=l;

for(; aux!=0; aux=aux->next) {

if((aux->a < at) && (aux->b <bt)) {

aux2->next = aux->next;

delete aux;

aux=aux2;

} else

aux2=aux1;

}}}

Riferimenti

Documenti correlati

Sia dato un file città.dat contenente, in ogni riga, una stringa di lunghezza massima 36 caratteri che contiene il nome di una città e un valore intero che ne rappresenta il numero

Scrivere una funzione elimina(l) che riceve in ingresso la lista l e la modifica eliminando tutti gli elementi che hanno il campo informativo uguale a quello

Le informazioni sui file sono mantenute nella struttura delle directory, che risiede sul disco.. Operazioni

A partire dal contenuto del file esami-ematici crei un array associativo $elencoesami usando come chiave il nome dell’esame e come valore un vettore contenete il valore

Scrivere un programma che permetta di memorizzare in un file binario assenti.dat la matricola, il nome ed il telefono degli studenti che non hanno fatto il

La distanza è espressa in metri, il tempo in secondi, il valore di atleta è il numero di tessera della federazione di tipo string.. Devono essere memorizzati solo i

Il ciclo termina quando da tastiera si inserisce la stringa “*” che verrà comunque scritta nella pipe vocaboli. Il padre

Effetto: copia (copy) un file (sorgente) in un altro (destinazione) destinazione può essere un altro file o una directory. $ cp file1.txt file2.txt (copia del file file1.txt