Show Menu
Cheatography

C++ introduttivo Cheat Sheet by

Istruzioni e comandi introduttivi per la programmazione C++

Tipi primitivi

int
Intero (Es: -1, 1, 2, 3..)
long
Intero "­gra­nde­"
float
Numero con la virgola "­pic­col­o"
double
Numero con la virgola "­gra­nde­"
bool
Vero o Falso
char
Carattere (Es: 'a', 'b', ...)
Tipi di dato utiliz­zabili per le variabili

Input / Output

#include <stdio.h>
Necessario per i/o
using namespase std;
Evita di specif­icare std::
cin>>variabile;
Inserire a schermo un valore
cout<<variabile;
Stampa a schermo il contenuto di una variabile
cout<<"frase";
Mostra a schermo una frase
cout<<"..."<<endl;
Consente di andare a capo
cout<<"...\n";
Un altro modo per andare a capo
Comandi di base per gestire la stampa e l'inse­rimento a schermo.

Commenti

// commento su singola riga
/* commento multipla riga */
I commenti sono righe di codice utili per lasciare inform­azioni e rendere il codice più leggibile

For

for (int i = 0; i < n; i++){
    // ...
    // istruzioni eseguite n volte
    // ...
}
Struttura del ciclo for

While

while(condizione == true) {
    // ...
    // istruzioni eseguite fino a quando
    // la condizione è soddisfatta
    // ...
}
Struttura del ciclo while

Vettori (Array)

tipo v[dim];
crea un vettore di nome "­v" di tipo "­tip­o" con "­dim­" elementi
tipo v[] = {el1, el2, ... };
Inizia­lizza un vettore con gli elementi el1, el2 ecc ...
v[indice] = valore;
Inserisce "­val­ore­" dentro in posizione "­ind­ice­"
- I vettori cominciano ad indice 0
- Es assegnare in terza posizione: v[2] = 10;

Gestione file

#include <fstream.h>
Importa la libreria file
ifstream file;
Crea un lettore di file
ofstream file;
Crea uno scrittore di file
file.open("nome", [mode]);
Apre i file in un determ­inata modalità
fs.is_open()
Funzione che restit­uisce se un file è aperto
file >> var;
Legge una linea da un file
while(file.eof())
"­Finchè un file non termin­a"
file.close();
Chiude un file
Costanti per le modalità
ios::in // Apre il file in lettura
ios::out // Apre il file in scrittura
ios::app // Aggiunge al contenuto del file
ios::trunc // Elimina il contenuto precedente

Condizioni

A == B
Se A è uguale a B, restit­uisce vero.
A != B
Se A è diverso da B, restit­uisce vero.
A < B
Se A è minore di B, restit­uisce vero.
A > B
Se A è maggiore di B, restit­uisce vero.
A <= B
Se A è minore o uguale di B, restit­uisce vero.
A >= B
Se A è maggiore o uguale di B, restit­uisce vero.
A ! B
A not B
A && B
A and B, vero se entrambe le condizioni sono vere.
A || B
A or B, vero se almeno una condizione è vera.
Le espres­sioni booleane sono valutate da sinistra a destra!
 

Random

#include <ct­ime>
Include la libreria "­tim­e"
srand(­tim­e(N­ULL);
Permette la genera­zione di numeri casualli
n = rand()%max + min;
Trova un numero casuale tra max e min
Comandi per la genera­zione di numeri casuali

Errori comuni

Non si può mettere spazi nel nome delle variabili
Quando si vuole mostrare a schermo un testo bisogna inserire " "
if singola condiz­ione, while "fino a quando­" la condizione è soddis­fatta
for quando si conosce il numero di iteraz­ioni, while "fino a quando­" la condizione è soddis­fatta
Errori comuni da evitare

Selection Sort

void seleSort(int vet[], int dim){
    int  tmp, imin;

    for (int i = 0; i < dim - 1; i++){
        imin = i;

        for (int j = i+1; j < dim; j++){
            if(vet[j] < vet[imin])
                imin = j;
        }
  
        if (i != imin){
            tmp = vet[imin];
            vet[imin] = vet[i];
            vet[i] = tmp;
        }
    }
}
Algoritmo di ordina­mento per selezione

Insert Sort

void insertSort(int vet[], int dim, int corrente){
  int dove=0;
  
  while((vet[dove] < corrente) && (dove < dim))  {
	dove++;
  }
  
  shiftR(vet, dove, dim);
  vet[dove] = corrente;
}

// funzione di spostamento
void shiftR(int vet[], int buco, int fine){
  int x;                             
  for (x = fine - 1; x >= buco; x--)  
    vet[x + 1] = vet[x];
}
Algoritmo di ordina­mento per inseri­mento

Bubble Sort

void bubbleSort(int vet[], int tanti){
  int x, y, min;
  int temp;
  bool scambia;

  for (x = 0; x < tanti-1; x++) {
	scambia=false;
	for (y = 0; y < tanti-1-x; y++)  {
	  if (vet[y] > vet[y+1]) {    
	    temp = vet[y];           
	    vet[y] = vet[y+1];
	    vet[y+1] = temp;
	    scambia=true;
	  }
	}

	if(scambia==false){
		break;
	}      
  }
}
Algoritmo di ordina­mento bubble sort

Quick Sort

void quick_sort ( int vett[], int estremo_sx, int estremo_dx )
{
  int sx, dx;
  int q ;                                           
  if ( estremo_sx < estremo_dx ) {                  
    visualizza (  vett, estremo_sx, estremo_dx );    
    q = partiziona ( vett, estremo_sx, estremo_dx );
    quick_sort ( vett, estremo_sx, q-1 );           
    quick_sort ( vett, q+1, estremo_dx );           
  }
}

int partiziona (int vett[], int sx, int dx){
  int pivot, ipivot;                              
  ipivot = sx;                                     
  pivot  = vett[ipivot];                           
  
  while(sx < dx) {
    while(( vett[sx] <= pivot ) && ( sx < dx )) {  
      sx++;
    }

    while( vett[dx] > pivot ){                     
      dx--;
    }

    if( sx < dx ){                                 
      scambia ( vett, sx, dx) ;                   
    }
  }

  scambia ( vett, ipivot, dx ) ;                   
  return dx;
}

void scambia (int vet[], long x, long y){
  int tmp = vet[x];
  vet[x] = vet[y];
  vet[y] = tmp;
}
Algoritmo di ordina­mento quick sort
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          C Reference Cheat Sheet

          More Cheat Sheets by Gray00

          Calcolatori Elettronici Cheat Sheet