Arrays är en enkel och effektiv form av beställd lagring av data. De används i nästan alla datorprogram. I de flesta fall genereras informationen i dem under applikationens drift. Men ibland måste du ange en matris efter att ha fått data från en eller annan källa.
Nödvändig
- - textredigerare eller IDE;
- - C ++ - kompilator.
Instruktioner
Steg 1
Ange en matris som ber användaren om data. Beräkna eller fråga antalet element som ska anges. Skapa en matris av önskad storlek. Lägg till en slinga till önskad plats i programkoden för att itera över alla element. I en slinga, fråga data för varje objekt, kontrollera om ingången är korrekt. Olika medel kan användas för att utföra datainmatning. Att använda funktionerna scanf och wscanf i C-biblioteket är det klassiska sättet. Dessa funktioner är dock osäkra. Ett buffertöverflöde kan resultera i ett säkerhetsfel. C ++ -strömmar ger bekväm och säker inmatning, men de har också nackdelar. Det enklaste exemplet med att fylla en array med ett standardinmatningsobjekt kan se ut så här: int aNumbers [10]; för (int i = 0; i <10; i ++) {std:: cout
Steg 2
Ange matrisen från filen. Använd formaterade inmatningsfunktioner (fscanf, fwscanf) och strömobjekt (som ifstream) för att implementera enkla läsalgoritmer. Spåra inmatningsfel med de dåliga, misslyckade, bra, rdstate-metoderna när du använder strömmar. Ett enkelt exempel på att läsa data från en fil kan se ut så här: int aNumbers [10]; std:: ifstream oFileStream ("filnamn.txt"); om (! oFileStream.fail ()) {för (int i = 0; (i> aNumbers ;} annars std:: cout
Steg 3
Ange matrisen direkt i programkoden som statisk data. Använd matrisbokstäver för att initialisera motsvarande variabler. Till exempel en rad int-värden av odefinierad längd, som är en statisk medlem av klassen, och deklareras som: class CMyClass {… static const int m_anMyArray; …}; Måste initieras enligt följande: const int CMyClass:: m_anMyArray = {10, 20, 30, 40}; Med den här metoden kan du ange matriser med strukturer av vilken komplexitet som helst i programmets källkod.