Sei sulla pagina 1di 5

IMPOSTAZIONE PROGRAMMA

#include <iostream>
using namespace std;

int main() {

…..
…..

return 0;
}

FUNZIONI

Nel prototipo della funzione: parametri formali


Nel main: parametri attuali

Passaggio per valore


Nella funzione es: (int n, int array[], int N)
Nel main es: (n, array, N)

Passaggio per riferimento


Nella funzione es: (int &n, int array[], int &N) ​// gli array sono sempre passati per riferimento
Nel main es: (n, array, N)

ARRAY

Nel main:

int N;
cout<<"Inserisci la dimensione dell'array."<<endl;
cin>>N;
int A[N]; ​// dichiaro array
carica(A, N);
stampa(A, N);
Funzione di carica array:

void carica(int a[], int N){

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


cout<<"Inserisci un elemento"<<endl;
cin>>a[i];
}

Funzione di stampa array:

void stampa(int a[], int N){

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


cout<<a[i]<<" ";
}
cout<<endl;

MATRICI

Nel main:

int N, M;
int mat[100][100]; // prima righe poi colonne
cout<<"Inserisci il numero di righe (<=100)"<<endl;
cin>>N;
cout<<"Inserisci il numero di colonne (<=100)"<<endl;
cin>>M;
carica(mat, N, M);
stampa(mat, N, M);
Funzione di carica matrice:

void carica(int mat[][100], int N, int M){ ​// matrice si passa sempre per riferimento
// il programma deve sapere la seconda dimensione della matrice come COSTANTE

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


for (int j=0; j<M; j++){
cout<<"Inserisci l'elemento di ordine ("<<i<<", "<<j<<")"<<endl;
cin>>mat[i][j];
}
}

} ​// se inverto i cicli for navigo per colonne (invece che per righe)

Funzione di stampa matrice:

void stampa(int mat[][100], int N, int M){

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


for (int j=0; j<M; j++){
cout<<mat[i][j]<<"\t"; ​// \t consente di staccare gli elementi, potevo anche
usare un semplice spazio
}
cout<<endl; ​// che è come scrivere cout<<"\n";
}

STRUCT

Struttura dati che permette di memorizzare dati eterogenei tra di loro. (Array con elementi
diversi tra loro). Ogni elemento del record è definito campo.

Dichiaro fuori dal main:

struct citta {
string nome;
int n_ab_att;
int n_ab_pass;
};
Dichiaro nel main:

….
citta c1;
carica(c1);

Carica struct:

void carica(citta &c){


cout<<"Inserire nome città"<<endl;
cin>>c.nome;
cout<<"Inserire numero abitanti attuali"<<endl;
cin>>c.n_ab_att;
cout<<"Inserire numero abitanti anno passato"<<endl;
cin>>c.n_ab_pass;
}

N.B.:

if (condizione){

….
} else {
….
}
------------------------------------------
while (condizione){
….
}
------------------------------------------
do {
…..
} while (condizione);
------------------------------------------
for (int i=0; i<n; i++){
…..
}
------------------------------------------
switch(variabile){
case 1:{
….
break;
}
case 2:{

break;
}
}

Potrebbero piacerti anche