






Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
appunti semplici personali !!non bastano a passare l'esame!!
Tipologia: Appunti
1 / 12
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







while (condizione) { // istruzioni } Il ciclo while itera fino a che la condizione tra parentesi è verificata. La condizione viene verificata prima Può anche non essere mai iterato(se la condizione è falsa) CICLO DO-WHILE do { // istruzioni } while (condizione); Questo ciclo esegue le istruzioni almeno una volta Dopo verifica la condizione CICLO FOR for (inizializzazione; condizione; incremento) { // istruzioni } Fa uso di una variabile ausiliara per scorrere (ad esempio i) Nelle parentesi si mette 1. Da che valore parte i
for (int i = 0; i < 5; i++) { printf("%d ", v[i]); } RICERCA DI UN ELEMENTO int trovato = 0; for (int i = 0; i < n; i++) { if (v[i] == x) { trovato = 1; break; } } INVERTIRE UN ARRAY for (int i = 0; i < n / 2; i++) { int temp = v[i]; v[i] = v[n - 1 - i]; v[n - 1 - i] = temp; } BUBBLE SORT for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1 - i; j++) { if (v[j] > v[j + 1]) { int t = v[j]; v[j] = v[j + 1]; v[j + 1] = t; } } }
char nomi[3][20] = { "Mario", "Luigi", "Anna" }; LE LISTE PS. Serve includere stdlib.h STRUCT BASE Typedef struct Prova { int dato; struct Prova *next; }Prova; TESTA DI LISTA Prova * testa = 0; X CREARE UN NODO/ELEMENTO con INSERIMENTO IN TESTA Do { temp= (prova *)malloc(sizeof(Prova)); temp-->next = testa; Testa = temp; Printf(“Immetti val da inserire”); Scanf(“%d”, &(testa->dato)); Printf(“1 continua, 0 finisci”); Scanf(“%d”, &ancora); // ancora variabile ausiliara }while (ancora ==1 || ancora);
X STAMPARE I VALORI AL CONTRARIO e trovare la media for (temp = testa; temp != 0; temp = temp->next) { printf("%d", temp->dato); somma = somma + temp->dato; cont++; } Printf (“la media è : %d”, (somma/cont)); INSERIMENTO IN CODA #include #include typedef struct Prova { int dato; struct Prova next; }Prova; Prova * testa = 0; int inscoda(int valore) { Prova * temp; if (!testa) if (testa = (Prova)malloc(sizeof(Prova))) { testa->dato = valore; testa->next = 0; return 1;
for (temp = testa; temp != 0; temp = temp->next) printf("%d", temp->dato); return 0; } CANCELLARE UN ELEMENTO #include #include Typedef struct prova { Int dato; Struct prova*next; }prova; Void cancellanodo(prova ** testa, int chiave){ Prova * temp = *testa; // (1 caso: il nodo da eliminare è la testa) If(temp != 0 && temp->dato == chiave){ *testa = temp->next; Free(temp); Return ; } // (2 caso : cerca il nodo da eliminare scorrendo la lista) // dobbiamo tenere traccia del nodo precedente While (temp != 0 && temp->dato != chiave){ Precedente = temp; Temp = temp->next; } // (il valore non viene trovato) If (temp == 0){
Printf(“valore %d non trovato nella lista.\n” , chiave); Return ; } //sgancia il nodo dalla lista Precedente->next = temp->next; // libera la memoria Free(temp); } INSERIMENTO IN TESTA void inserisciInTesta(prova** testa, int valore) { prova* temp = (prova)malloc(sizeof(prova)); temp->dato = valore; temp->next = (testa); (testa) = temp; } STAMPA LISTA void stampaLista(prova nodo) { while (nodo != 0 ) { printf(" %d ->", nodo->dato); nodo = nodo->next; } printf(" FINE LISTA\n"); } INSERIMENTO IN CODA void inserisciincoda(prova **testa , int valore) { prova temp = (prova)malloc(sizeof(prova)); prova *ultimo = *testa; temp->dato = valore;
Fprintf(fp, “iwcnicniwucuiic”); // chiudi il file Fclose(fp); NEL MAIN DI LETTURA FILE: FILE *fp; Char buffer[100];// contenitore temporaneo per ogni riga Fp = fopen... If(fp = 0){ Printf (“errore nell’apertura del file”); Return 1; } //leggi il file riga per riga finche non finisce While (fgets(buffer, 100, fp) != 0){ Printf(“letto dal file: %s” , buffer); } //Chiudi il file Fclose(fp); NEL MAIN DI AGGIOUNTA FILE: FILE *fp; Fp = fopen... If(fp = 0){ Printf (“errore nell’apertura del file”); Return 1; } // chiediamo all’utente cosa aggiungere Char nome[50]; Printf(“inserisci il tuo nome ”); Scanf(“%s”, nome); // scriviamo nel file
Fprintf(fp , “accesso effetuato da : %s\n”, nome); Fclose(fp) LE STRUCT Typedef struct studente{ Char nome[50]; Int età; Float media; }studente; Studente s1; //per accedere ai membri si usa l’operatore pinto (.) Strcpy (s1.nome , “Mario Rossi”); S1.età = 20; S1.media = 26; Studente *ptr = &s1; Ptr -> età = 20; // piu leggibile