• Non ci sono risultati.

1.Sia dato un file

N/A
N/A
Protected

Academic year: 2021

Condividi "1.Sia dato un file"

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 – 13/01/2004 - C++

1. 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 di abitanti. Si scriva una funzione estrai() che crea un nuovo file chiamato città2.dat che contiene il nome della città più popolosa e il nome di quella meno popolosa fra quelle contenute nel file città.dat.

2. Si scriva una funzione rendi_pari(l) che riceve in ingresso il puntatore ad una lista semplice a valori di tipo carattere l. La funzione conta il numero n di elementi di cui è composta l e, se n è dispari, allora viene eliminato l’ultimo elemento di l, altrimenti l rimane invariata.

3. Si scriva una funzione ok = stringhe(s1, s2, s3) che riceve in ingresso tre stringhe s1, s2 e s3 di lunghezza qualsiasi e restituisce true se ogni carattere di s3 é presente in s1 o in s2, false altrimenti.

4. Dati i numeri decimali A=107, B=49 e C=-66, 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-C e si discuta se il risultato ottenuto è o no significativo.

Punteggio:

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

10 10 10 3

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

1.

#include <fstream.h>

#include <string.h>

void ordina() {

int n, n_g, n_p;

fstream leggi, scrivi;

char città[37], città_g[37], città_p[37];

leggi.open(“città.dat”, ios::in);

scrivi.open(“città2.dat”, ios::out);

if (leggi>>città>>n)

{ n_g=n;

n_p=n;

strcpy(città_g, città);

strcpy(città_p, città);

}

else return;

while(leggi>>città>>n) {

if(n>n_g) { n_g=n;

strcpy(città_g, città);

} if(n<n_p) {

n_p=n;

strcpy(città_p, città);

} }

scrivi<<città_g<<”\n”<<città_p;

leggi.close( );

scrivi.close();

}

2.void rendi_pari(elem *&l) {

elem *aux, *aux1;

if(l==0) return;

if(l->next==0) {

delete l;

l=0;

return;

} int n=0;

aux=l;

while(aux != 0) {

n++ ;

aux=aux->next ; }

if(n%2 !=0)

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

(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

aux1=aux ;

aux1->next=0 ; delete aux ; }

} 3.

boolean controlla_3_stringhe (char *s1, char *s2, char *s3) {

for(int i=0; s3[i]!=’\0’; i++) {

for(int j=0; s1[j]!=’\0’; j++) {

if(s1[j]==s3[i]) break;

}

if (s1[j]==’\0’) {

for(int k=0; s2[k]!=’\0’; k++) {

if(s2[k]==s3[i]) break;

}

if(s2[k]==’\0’) return false;

} }

return true;

}

Riferimenti

Documenti correlati

Un file chiamato dati.txt contiene per ciascuna riga una stringa di lunghezza massima 24 caratteri che rappresenta il nome di uno studente e un valore intero che

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

Sia dato un file chiamato elenco.txt contenente in ciascuna riga una stringa di caratteri e un valore numerico che rappresentano rispettivamente il nome (stringa

Sia dato un file persone.txt che contiene, su ciascun riga, una stringa di al più 24 caratteri e un valore intero che rappresentano rispettivamente il nome e l’età di una persona..

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

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

cost = 20; // estero ancora più