Zoek matrixgrootte C++

Find Array Size C



Een array is een container met elementen van hetzelfde gegevenstype. Als we de werkelijke grootte van een array niet weten, kan deze op verschillende manieren worden bepaald. Als we het hebben over de grootte van een array, hebben we het in feite over het aantal elementen dat in de array aanwezig is. Soms definiëren we de arraygrootte en soms worden de haakjes leeg gelaten. Dit is een schijnbare grootte die alleen de capaciteit van een array laat zien om er waarde in op te slaan. Overweeg bijvoorbeeld een voorbeeldarraydeclaratie

Int-array[] = {1,2,3,4,5,6}

Hier is de grootte van een array of de lengte van een array 6. En de totale arraygrootte die moet worden toegewezen, wordt niet weergegeven. De werkelijke grootte wordt verkregen door verschillende bewerkingen toe te passen. Deze bewerkingen worden in dit artikel gebruikt om de grootte van een array te verkrijgen.







voorbeeld 1

In deze illustratie zullen we het concept van begin() en end() gebruiken. Door deze methode kan de grootte van een array gemakkelijk bekend worden. Dit zijn twee bibliotheken die bekend staan ​​om standaardbibliotheken. Deze twee functies retourneren de iterators die de voorlopige en eindpunten van de array weergeven. Uitgaande van de header gebruiken we een array-bibliotheek. Dit omvat alle functies die verband houden met de array. In de hoofdfunctie hebben we een array gestart met gehele waarden.



Kosten<<…….<<einde(tot)-begib(tot)<<

Hier hebben we de arraygrootte niet genoemd. In de display-instructie die volgt op de cout, hebben we de functies end() en begin() gebruiken. De ongelijkheid tussen deze twee functies zal ons de grootte van een array laten zien. In de parameters van deze functies hebben we de array doorgegeven. Door dit te doen, wordt de werkelijke grootte bepaald. De resulterende waarde van deze functies wordt direct weergegeven.







Nu op weg naar de uitgang. We worden verondersteld deze programma's in Linux uit te voeren, dus we hebben de betrokkenheid van de Ubuntu-terminal nodig. Omdat we C++-code gebruiken, moeten we de code compileren via de compiler. Dat is de G++-compiler. Na het compileren van de code gaan we deze uitvoeren. De onderstaande opdrachten tonen de uitvoeraanpak die we hebben gebruikt.

$ g++ -o code2 code2.C

$./code2



U kunt nu de uitvoer zien. Een ander soortgelijk voorbeeld in het geval van std is de afstandsfunctie. In deze afstand wordt berekend met behulp van de functies begin() en end(). Dit wordt voltooid door deze functies te gebruiken met std.

Int n=uur:: afstand(uur::beginnen(arr),uur::einde(arr));

De output wordt verkregen in de cout-verklaring. Om het record te zien, gebruikt u de compiler opnieuw om de code uit te voeren.

Hier kunt u zien dat onze gewenste output wordt verkregen.

Voorbeeld 2

Dit voorbeeld heeft betrekking op het gebruik van de functie sizeof() in de C++-code, aangezien deze waarde de werkelijke grootte van gegevens in de vorm van bytes retourneert. Verder behandelt het ook het retourneren van het aantal bytes dat wordt gebruikt om een ​​array op te slaan. Met andere woorden, in dit voorbeeld is de eerste stap het initialiseren van een array zonder de grootte van een array aan te geven. de syntaxis die wordt gebruikt voor de functie sizeof() is:

int al= De grootte van(arr)/De grootte van(arr[0]);

Waar arr de array is. arr[0] toont de index van de elementen in de array.

Deze verklaring houdt dus in dat de grootte van de array wordt gedeeld door de grootte van alle aanwezige elementen, één voor één. Dit helpt bij het berekenen van de lengte. We hebben een integer-variabele gebruikt om de waarderetour van de functie te ontvangen en op te slaan.

We zullen de uitvoer hier van de opdrachtprompt krijgen met dezelfde methode voor het uitvoeren van compileren.

De uitvoer toont de grootte van de array, wat het aantal aanwezige elementen inhoudt, namelijk 6.

Voorbeeld 3

Dit voorbeeld omvat het gebruik van de functie size () . Deze functie is geplaatst in de standaard bibliotheek, STL. De eerste stap in het hoofdprogramma is de array-declaratie. Hier bevat de naam van de array ook de grootte en de integerwaarde. Deze methode retourneert het resultaat ook rechtstreeks in de uitvoerinstructie.

Kosten<<….<<arr.maat()<<

Waar 'arr' de array is, om het resultaat op te halen of toegang te krijgen tot de functie, hebben we de naam van de array nodig met de functie size.

Om het resultaat weer te geven, gebruiken we de g++-compiler om het resultaat te compileren en uit te voeren.

Aan de uitvoer kunt u zien dat het resultaat het gewenste resultaat is dat de werkelijke grootte van de array laat zien.

Voorbeeld 4

De grootte van een array kan ook worden verkregen door pointers te gebruiken, aangezien pointers het adres/de locatie van de waarde van de variabele opslaan. Beschouw nu het onderstaande gegeven als voorbeeld.

De eerste stap is om een ​​array zoals gewoonlijk te initialiseren. Dan werkt de aanwijzer voor de arraygrootte.

Int len= *(&reeks+ 1)– reeks;

Dit is de kernverklaring die als een aanwijzer werkt. * wordt gebruikt om de positie van elk element in een array te lokaliseren, terwijl de operator & wordt gebruikt om de waarde van de locatie te verkrijgen die via de aanwijzer is verkregen. Dit is de manier waarop we de arraygrootte verkrijgen uit pointers. Het resultaat wordt weergegeven via de terminal. Het antwoord is hetzelfde. Omdat de grootte van de genoemde array werd vermeld als 13.

Voorbeeld 5

In dit voorbeeld hebben we het idee van deductie van sjabloonargumenten gebruikt. Een sjabloonargument is een parameter van een speciaal soort. Het wordt gebruikt om elk type argument door te geven, net als de reguliere functies die als argument kunnen worden doorgegeven.

Wanneer een array als parameter wordt doorgegeven, wordt deze omgezet in een aanwijzer om het adres weer te geven. Om de lengte van de specifieke array te verkrijgen, gebruiken we deze benadering van deductie van sjabloonargumenten. Std is een korte vorm van standaard.

Gezien het gegeven voorbeeld, hebben we een sjabloonklasse geïntroduceerd die wordt gebruikt om de arraygrootte te verkrijgen. Het is een standaard ingebouwde klasse die alle functionaliteiten van sjabloonargumenten bevat.

Constexpr std: : size_tmaat(constt(&reeks)[N])nee behalve{

opbrengstN;

}

Dit is een vaste lijn in dit concept. De output wordt direct verkregen in de cout-verklaring.

Aan de uitvoer kunt u zien dat we onze gewenste uitvoer hebben: de arraygrootte.

Voorbeeld 6

We gebruiken std:: vector om de arraygrootte in het programma te verkrijgen. Dit is een soort container; zijn functie is om dynamische arrays op te slaan. Het werkt met verschillende methoden voor verschillende bewerkingen. Om dit voorbeeld te realiseren, hebben we een vectorbibliotheek gebruikt die alle vectorfuncties bevat. Het verklaart ook de cin-, cout-, endl- en vectorstatements die in het programma moeten worden gebruikt. Een array wordt eerst in het programma gestart. De uitvoer wordt weergegeven in de cout-instructie op vectorgrootte.

Kosten<<vectorgrootte: <<int_array.maat() <<eindel;

Nu zullen we de uitvoer van de Ubuntu-terminal zien. De grootte van de array is nauwkeurig voor de elementen die erin aanwezig zijn.

Conclusie

In deze zelfstudie hebben we een andere benadering gebruikt om de arraylengte of -grootte te verkrijgen. Sommige zijn ingebouwde functies, andere worden handmatig gebruikt.