Problem

1/1

Dynamisches Array: Start

Theory Click to read/hide

Dynamik
In früheren Volumenkursen haben wir die Schaffung einer Masse in einer Weise betrachtet, wie:
const int Nmax = 1000;
Int A[Nmax];

oder solche:
int A[1000];

So eine Art statische Masse♪ Einer der Nachteile ist, dass die Größe und Art der Masse während des Programms nicht verändert werden kann.
Das obige Beispiel erzeugt eine statische Masse von 1000 Elementen. Ich meine, es gibt einen 1000-Typ Speicherplatz im Gedächtnis.int (Masse aus 1000 Typenelementen)int) Die Adresse wird in der Variable gespeichert.A♪ Wenn ein Gremium von mehr als 1.000 Elementen bearbeitet werden muss, muss es die Beschreibung ändern und das Programm neu kompilieren. Beim Umgang mit kleinen Massen wird der größte Teil des Speichers, der der statistischen Masse gewidmet ist, vom Nervenkitzel benutzt.

Um den Computerspeicher effektiv zu nutzen, muss er dynamisch sein. Mit anderen Worten, während der Durchführung des Programms sollte die Erinnerung an Objekte bei Bedarf (Erstellung neuer Einrichtungen) bereitgestellt werden.

B C++ Operationennewunddeleteist für die dynamische Verteilung des Computerspeichers vorgesehen. Betriebnewden Speicher vom freien Speicher unterscheidet, und die Operationdeletebefreit den Speicher.
Beispiel für dynamische Variablen
int *A = neu; //
*A = 15; // Initialisierung des Objekts erfolgt über den Index (*)
/ Initialisierung kann sofort durchgeführt werden
/ wenn das dynamische Objekt erklärt wird
Int *B = neuer Int(25);
Cout PERPENT *A À À < < < < < < < < > > > > > > > > > >
Löschen A;
B löschen;
Betriebnewerstellt ein Objekt eines bestimmten Typs, gibt ihm einen Speicher und gibt die richtige Art von Index in diesen Speicherbereich zurück. Kann der Speicher z.B. bei Abwesenheit von freien Stellen nicht unterschieden werden, wird ein Null-Indikator zurückgegeben, d.h. der Index wird den Wert 0 zurückgeben. Die Erinnerung ist für jede Art von Daten möglich: intfloatdoublechar usw.

In gleicher Weise kann C++ erzeugt werden Dynamische Massedie dynamische Speicher verwenden. Die Größe dieser Größe kann im Programm ' s Arbeit, wie die Tastatur erreicht werden. Der größte Teil der OperationnewunddeleteAnwendbar für Dynamiken statt dynamische Variablen.
In der Syntax des C
Int N;
scanf("%d, " N);
int *mas = malloc (sizeof(int) * N);
// anschließend die Größe der Masse ändern
/ gebraucht realloc♪
#
free(mas); // Speicher freigeben


In der Synthaxis der C++
Int N;
cin Gradient N,
Int* A = neuer Int [N];
/ die Größe der Masse ändern
// Übertragung der Daten auf eine andere Masse und die alte Reinigung
#
Löschen []mas; / Befreiung des Gedächtnisses
/ quadratische Klammern anzeigen
/ dass wir Speicher frei von der Masse

Problem

Es ist eine Sequenz gegeben, die aus ganzen Zahlen besteht. Schreiben Sie ein Programm, das ein Array erstellt und zweimal hintereinander eine Sequenz darin schreibt.
 
Eingabe 
Zuerst wird die Zahl N — die Anzahl der Elemente in der Sequenz angegeben (1<= N <= 100). Als nächstes werden N Zahlen durch ein Leerzeichen geschrieben.
 
Ausgabe 
Sie müssen ein Array ausgeben, das aus einer duplizierten Sequenz besteht.
 
Beispiele
Eingabe Ausgabe
1 3
1 2 3
1 2 3 1 2 3