Buona sera a tutti, avrei un problema. Dovrei svolgere degli esercizi in C, ma non sto riuscendo a fare questi problemi. Se era possibile vorrei che qualcuno molto più esperto di me li svolgesse. Scrivo gli esercizi: (grazie anticipatamente)
ESERCIZIO 1
Si vuole convertire un numero intero in una qualsiasi base B (ad esempio in base 5 o in base 16 o in base 8) e
costruire la stringa che gli corrisponde (ad esempio il valore X=143 in base B=2 è “10001111” mentre in base
B=16 è “8F” e in base B=8 è “217”).
Si scriva la funzione C: int converti_base(int B, int X, char testo[], int N) che riceve:
– un numero intero X
– la base B (intero compreso tra 2 e 35)
– un vettore di caratteri testo di dimensioni N in cui va inserita la rappresentazione testuale del numero X
codificato nella base B.
NOTA: le cifre di valore maggiore a 10 sono codificate dalle lettere da A a Z come segue
A = 10, B = 11, C = 12, D = 13, ..., X = 33, Y = 34, Z = 35
ESEMPIO: converti_base( 12, 1456, testo, 5) mette nel testo la sequenza di caratteri “A14”
ESERCIZIO 2
Si scriva la funzione C int camelCase(char testo[], int N) e che trasforma un testo qualsiasi, formato
da parole separate da spazi, contenuto nel vettore di caratteri testo, nel formato CamelCase, ovvero mettendo in
maiuscolo il primo carattere di ciascuna parola e tutti gli altri caratteri della parola in minuscolo ed eliminando
gli spazi.
Esempio: “il CANE viene a CENA” diventa “IlCaneVieneACena”
ESERCIZIO 3
Scrivere la funzione C void kappa_minimi(int K) che legge da input (stdin) una sequenza di
lunghezza indeterminata di numeri interi, di cui viene indicata la fine quando viene letto il valore 0 (che va
ignorato), e che calcola e stampa la sequenza dei primi K minimi trovati (in ordine crescente).
NOTA: si assuma che K<100
Esempio: se K=3 e in input viene fornita la sequenza 3 –5 11 –14 45 40 –16 0
verranno stampati i valori: –16 –14 –5
Suggerimento: memorizzate in un vettore di appoggio i K valori più piccoli finora trovati ed aggiornatelo
tenendolo ordinato mano a mano che leggete altri valori da input e ce li inserite se è necessario.
ESERCIZIO 4
Scrivere la funzione C int isSorted( int dati[], int N) che analizza il vettore di N interi dati e:
torna +1 se è ordinato in ordine strettamente crescente
torna -1 se è ordinato in ordine strettamente decrescente
torna 0 se esistono coppie di numeri uguali (anche non adiacenti)
altrimenti torna -2