Copy Link
Add to Bookmark
Report

C++ Lezione 8: basi degli array

papero's profile picture
Published in 
LezioniC
 · 3 years ago

Questa è l'ottava puntata delle mie lezioni, e tratterà gli array. Gli array sono essenzialmente un modo per immagazzinare valori sotto lo stesso nome. Potete fare un array fuori da qualsiasi tipo di dato, incluse le strutture. Per esempio, potete dire

 int examplearray[100]; //Questo dichiara un array 

Questo creerà un array integer con 100 caselle, o posti dove immagazzinare valori. La sola cosa difficoltosa inizia con il primo numero-indice, cioè, il numero che mettete tra parentesi per accedere alla prima casella è zero, e non uno!

Pensate agli array come a questo:

 [][][][][][] 

Ogni casella è una casella nell'array, e potete mettere informazioni in ognuna di esse. E' quasi come un gruppo di variabili fianco a fianco.

Cosa potete fare con questi elementi? Diciamo che volete memorizzare una stringa, siccome il C++ non ha un tipo di dato predefinito per le stringhe, in DOS, si può creare un array di caratteri.

Per esempio:

 char astring[100]; 

Vi permetterà di dichiarare un array char di 100 elementi o caselle. Quindi potete riceverli dall'utente, e se l'utente digita una stringa lunga, entrerà tutta nell'array. La cosa buona è che è veramente semplice lavorare con le stringhe in questo modo, e esiste anche un file header chiamato STRING.H. Farò una lezione più avanti sulle funzioni presenti in string.h, ma per ora, concentriamoci sugli array.

L'aspetto più utile degli array sono gli array multidimensionali.

Per esempio:

 int twodimensionalarray[8][8]; 

Immaginate un array multidimensionale:

 [][][][][] 
[][][][][]
[][][][][]
[][][][][]
[][][][][]

Questo è un grafico di come immagino un array multidimensionale.

Dichiara un array che ha due dimensioni. Immaginatelo come una scacchiera. Potete facilmente usarlo per memorizzare informazioni su alcuni tipi di giochi, o scrivere qualcosa come tic-tac-toe. Per accedervi, tutto quello di cui avete bisogno sono due variabili, una che va nella prima casella, una che va nella casella. Potete anche fare un array a tre dimensioni, sebbene probabilmente non ne avrete bisogno. In effetti, potete fare anche un array a quattrocento dimensioni. E' solo veramente confuso da immaginare.

Ora, gli array vengono trattati fondamentalmente come le altre variabili.
potete modificare i suoi valori mettendo:

 arrayname[arrayindexnumber] = qualsiasi; 

Troverete tante cose utili da fare con gli array, dal memorizzare informazioni su alcune cose sotto un nome, al fare giochi come tic-tac-toe. Un piccolo consiglio che vi do è di utilizzare un loop for per accedere ad un array.

E' semplice:

 #include <iostream.h> 

void main()
{
int x, y, anarray[8][8];//dichiara un array come una scacchiera
for(x=0; x<8; x++)
{
for(y=0; y<8; y++)
{
anarray[x][y]=0;//setta tutti gli elementi a zero appena fatto il loop
}
}
for(x=0; x<8;x++)
{
for(y=0; y<8; y++)
{
cout<<"anarray["<<x<<"]["<<y<<"]="<<anarray[x][y]<<" ";//vedrete
}
}
}

Qui potete vedere che il loop lavora bene perché incrementa la variabile al posto vostro, e voi avete bisogno solo di incrementarla di uno. E' facile, e avrete accesso all'array intero; volete usare un loop while?


---
Nota: La mia homepage è http://www.cprogramming.com. La mia email è webmaster@cprogramming.com. Vi prego di mandarmi una email con commenti e/o suggerimenti. Se volete usare questo tutorial nel vostro sito, vi prego di mandarmi una email e dia aggiungere un link a http://www.cprogramming.com.
Grazie :)

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT